nginxのリバースプロキシnginx.confの書き方について教えてください。
現在、2つのコンテナを下記のdockerコンテナで起動しています。
$ docker run -d --name update_history1 --rm -p 12080:80 -v "/work/ApacheDocumentRoot1/:/usr/local/apache2/htdocs/" httpd $ docker run -d --name update_history2 --rm -p 13080:80 -v "/work/ApacheDocumentRoot2/:/usr/local/apache2/htdocs/" httpd
ブラウザに下記を指定すればどちらも参照できています。
http://192.168.100.52:12080/ http://192.168.100.52:13080/
この状態で、リバースプロキシを使用して、アクセス先のポートを変更しようとしています。
IPアドレスだけが指定されたら、ポート12080のコンテナへ接続
IPアドレスの後に/docが指定されたら、ポート13080のコンテナへ接続
プロキシサーバは下記のコマンドで実行しています
docker run --name reverse_proxy -v /home/hoge/reverse-proxy/nginx.conf:/etc/nginx/nginx.conf --rm -d -p 11080:80 nginx
nginx.confをこのように記述しました。
nginx.conf
1events { 2 worker_connections 8; 3} 4http { 5 server 6 listen 80; 7 server_name 192.168.100.52; 8 location / { 9 proxy_pass http://192.168.100.52:12080/; 10 proxy_redirect off; 11 } 12 } 13 server { 14 listen 80; 15 server_name 192.168.100.52; 16 location /doc { 17 proxy_pass http://192.168.100.52:13080/; 18 proxy_redirect off; 19 } 20 } 21}
192.168.1.52 で参照されたときは、ポート12080のコンテナに接続できます。
192.168.1.52/doc で参照されたときは、proxy_pass http://192.168.100.52:13080/;
に飛ぶようにはできないのでしょうか。
http://192.168.100.52/doc:11080 とアドレスバーに入力すると
nginx.confには何も指定がなかったかのように、http://192.168.100.52:80
が表示されました。
追記
ブラウザでの指定方法も間違っていました ポート番号を書く位置は、IPアドレス直後、ディレクトリを指定する前でした
http://192.168.100.52:11080/doc
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/01 04:12