Nginxドッカープロキシコンテナはリダイレクトされませんか?

Nginxドッカープロキシコンテナはリダイレクトされませんか?

次のNginxリバースプロキシ設定をDockerイメージに書き込もうとします。

    server {
        listen 80;
        server_name 203.0.113.2;

        proxy_set_header X-Real-IP  $remote_addr; # pass on real client IP

        location / {
            proxy_pass http://203.0.113.1:3000;
        }
    }

現在はボリュームに入れて、次のようにマッピングします。

-v nginx-data:/etc/nginx/conf.d/

これは機能し、起動時にコンテナはリバースプロキシとして実行されますが、ベーキングすると次のようになります。

ドッカーファイル

  FROM nginx
  COPY gogs.conf /etc/nginx/conf.d/gogs.conf

次のように画像からコンテナを起動します。

docker run --name gogs-nginx-container -d gogs-nginx

最後に、指定されたIPアドレスを介してアクセスすると、http://172.17.0.3/「Nginxへようこそ」ページが表示されますが203.0.113.1:3000

この問題を解決する方法についてのアイデアはありますか?

答え1

Nginxは実行中のIPアドレスに「敏感」です。私の設定では、server_name 203.0.113.2;コンテナの起動時にそのIPアドレスから起動する必要があります。そうしないと、プロキシ設定が実行されないように設定しました。したがって、このコマンドはトリックを実行します。

docker run --name gogs-nginx-proxy --net mk1net --ip 203.0.113.2 -d gogs-nginx

関連情報