質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

解決済

2回答

5351閲覧

nginx を使用して、1つのドメインを複数のWebサーバーで使用する方法をご教示頂けないでしょうか

ctk

総合スコア31

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

2クリップ

投稿2017/03/08 11:37

編集2017/03/08 23:29

いつもお世話になっております。

早速ですが、只今、複数のWEBサーバーを1つのドメインで管理するシステムを構築しております。
構成は、nginx で稼動しているサーバーが2台御座います。

やりたい事といたしましては、1つのドメイン:abc.com を2台のWebサーバで使用したいです。

例えば、
http://example.com/web1 でアクセスすると、Webサーバー1へ
http://example.com/web2 でアクセスすると、Webサーバー2へ
アクセスするようにしたいです。

ProxyPassを使用して構築できると思ったのですが、
Webサイトの画像が表示されなかったり、レイアウトが崩れたりして、他の方法を模索しております。

nginx を使用して、1つのドメインを複数のWebサーバーで使用する方法をご存知の方がいらっしゃいましたら、
ご教示頂けないでしょうか

設定内容は、以下のように記述しております。
/etc/nginx/conf.d ファイル

location = /web1/ {
proxy_pass http://xxx.xxx.xxx.xxx/web1
}

location = /web2/ {
proxy_pass http://xxx.xxx.xxx.xxx/web2
}

構築例など、情報を頂けると幸いです。

以上です、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2017/03/08 12:29

試してみたnginxの設定を示して下さいませんか。そうしないと「画像が表示されなかったり、レイアウトが崩れたり」しないようにするにはどう設定を直したらいいかも答えにくいです。
CHERRY

2017/03/08 23:07

例示に使うドメインは、example.comexample.jp を使ってください。
guest

回答2

0

ベストアンサー

こんな感じでもダメですか?うちはこれで動いてます

location /web1 { proxy_pass http://xxx.xxx.xxx.xxx/web1 }

locationディレクティブは「=」を入れると完全一致になるので、example.com/web1/img/sample.pngのようなURLはリクエストはバックエンドに投げないハズです。
なのでスタイルシートを持ってこれなくてレイアウトが崩れてるように見えます。

proxy_passは/で終わるかどうかで挙動が変わります。
こちらを参考にしてください。

投稿2017/03/14 03:40

編集2017/03/14 03:51
jamjam

総合スコア58

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ctk

2017/03/16 09:18

ご回答頂きありがとうございます。
guest

0

2台のWebサーバーを使うよりも、1台のWebサーバーに2つのディレクトリを作り、それぞれWeb1, Web2として使用することで、擬似的に2台あるかのように見せることができます。.htaccessを操作できるのであれば、以下のコードのようなものを書くことで、アクセスされたアドレスによって動作を変えることができます。
以下のコードはサンプルなので、自分用に書き換えてください。

RewriteEngine on RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? RewriteRule ^(.*) http://wp.example.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^(www\.example\.com)(:80)? RewriteRule ^(.*) http://wp.example.com/$1 [R=301,L]

投稿2017/03/09 01:18

black_sleepman

総合スコア220

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/03/10 10:38

.htaccess は Apache の物なのでそこはどうなのでしょう...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問