/etc/nginx/conf.d/blog.conf
server { listen 80; server_name example.com; location / { proxy_pass http://172.17.0.1:8083; proxy_pass_request_headers on; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } access_log /var/log/nginx/proxy_access_log; error_log /var/log/nginx/proxy_error_log; }
このようにdocker上で動かしているアプリをnginxの設定ファイルで指定しているのですが、80番で表示させることができません。ちなみにnginxに関してはdocker上ではなくローカル上にあります。
proxy_pass http://localhost:8083;
このようにもしてみたのですがアプリが表示されずにnginxのデフォルト画面になってしまいます。どこが間違っているのでしょうか?
ちなみに直接ipアドレスにport番号を付けたURLで接続すると通常通り表示されます。
お手数ですがご教授お願いいたします
ドメインの例示にはexample.comをご使用ください
server_name example.com; とありますが、アクセスはそのドメインで行っていますか?
失礼いたしました。修正しました。いえ、置き換えて例示しています。実際に別のドメインです。さくらVPSを使用しており、お名前.comとVPSでのドメインの登録は済ませています
と、そのアクセスはnginxが動いているマシンからのアクセスですか?
nginxはvps上で動いています。マシンは私のパソコンから接続しています
お名前.comではexample.comの設定が済ませてあり、Aレコードはnginxが動いているVPSに向いている。VPS内では8083ポートでDocker内のアプリが作動中。VPS(ホスト)から(curlなどで)http://172.17.0.1:8083へのアクセスはできる。ここまでは正しいでしょうか?
はい、そうです。http://example.com:8083でも接続が確認できています