リバース プロキシとして NGINX を使用しています。
3 つの環境(開発、QA、本番) があります。
開発用の IP アドレスは 1.2.3.4、qa は 4.3.2.1、本番用は 3.4.1.2 とします。
以下のように nginx.conf ファイルを構成しましたが、開発環境の場合は完全に正常に動作します。
これらの docker-image をビルドする際に、以下のようにイメージをビルドする必要がある構成について明示的に言及しました。
cd conf/clustered-develop/;sudo docker build -t jcibts-swmdtr-dev.jci.com/nginx:1 --build-arg PORT=8765 --build-arg ENVIRONMENT=clustered-develop .
要件は、docker-image が 1 のみをビルドする必要があり、Docker Trusted リポジトリにプッシュされることです。
イメージを再度ビルドすることなく、他の環境の Docker 信頼済みリポジトリに昇格されます。
私の質問は、これらの単一のconfをすべての環境で機能させるために何ができるかです。
localhost に置き換えられた ip または 127.0.0.1 に置き換えられた ip のように (両方を試しましたが、機能しませんでした)
worker_processes 4;
events { worker_connections 1024; }
http {
sendfile on;
upstream consumer-portal {
server 1.2.3.4:9006;
}
upstream licenseportal {
server 1.2.3.4:9006;
}
server {
listen 8765;
location /consumer-portal/ {
proxy_pass http://consumer-portal/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
location /licenseportal/ {
proxy_pass http://licenseportal/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}