環境変数に応じて異なるターゲットにプロキシをプロキシしようとしています。私のアプローチは、カスタムURL $ targetにターゲットURLを置き、これをproxy_passに渡すことでした。
しかし、proxy_passで変数を使用しても動作しないようです。この単純な設定は、nginxからの "502 Bad Gateway"応答につながります。
server {
listen 8080;
server_name myhost.example.com;
access_log /var/log/nginx/myhost.access.log;
location /proxy {
set $target http://proxytarget.example.com;
proxy_pass $target;
}
}
は、変数作品なしで同じ設定:
server {
listen 8080;
server_name myhost.example.com;
access_log /var/log/nginx/myhost.access.log;
location /proxy {
proxy_pass http://proxytarget.example.com;
}
}
はproxy_passこの方法を使用するか、私は何か間違ったことをやって本当に可能ではないですか?
FYI、nginxのはとか、リゾルバなし/ etc/hostsファイルを、使用しないことで、このCMDで確認om/questions/357719/nginx-domain-resolver – richardkmiller
私のためには機能しません。変数を設定しましたが、nginxはproxy_pass指示文で使用されていると解決できないようです。 proxy_redirectでは、同じ変数が期待どおりに機能します。 – shylynx
**「8.8.8.8」のような公的にアクセス可能なDNSサーバーを使用しないでください。 [DNSのなりすましを防ぐには、適切に保護された信頼できるローカルネットワーク内にDNSサーバーを構成することをお勧めします。](http://nginx.org/en/docs/http/ngx_http_core_module.html#resolver) – Tim