私たちは、nginxを使用してDMZウェブサーバーから内部ネットワークにトラフィックをリダイレクトするリバースプロキシを設定しようとしています。Nginx異なるサーバーへのリバースプロキシ
トラフィックが443で発生し、ApacheページのユーザーがLDAPサーバーにログインすると、トラフィックがapacheからnginxにリダイレクトされます(8089でリッスンしています)。 Nginxはそのトラフィックを内部ネットワークにプロキシし直します。
Apacheリダイレクトが機能し、nginxプロキシの少なくとも一部が動作しています。内部サーバー上のページが読み込まれますが、ページ上のすべてのリソースがURLを二重に追加しています。例:
https://webserver.us.com ==リダイレクト==> http://webserver.us.com:8089 == Nginx Proxy ==> http://internal.server.com: 8080 /ページ
のhttp://internal.server.com/page負荷が、ページ上のすべてのリソースは、としてロードしようとしている。
のhttp://internal.server.com/page/ページ/リソース。
直接内部ページを打つとき、彼らはもちろんのhttpである:
//internal.server.com:8080/page/resource私はproxy_passの私達の設定に誤りがあることを確信している、proxy_redirectおよびルート/場所が、私はそれを把握することはできません、次のように...
当社Nginx.confは次のとおりです。(FYIこれはSolarisサーバである)
worker_processes 1;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8089;
server_name <internal.server.com>;
access_log /var/opt/csw/nginx/logs/access.log;
error_log /var/opt/csw/nginx/logs/error.log;
root http://<internal.server.com>:8080;
index index.html index.htm;
location/{
proxy_pass http://<internal.server.com>:8080/<page>/;
proxy_redirect http://<internal.server.com>:8080/<page> http://<internal.server.com>:8080/<page>;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_buffering 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;
}
}
}
私たちは "で何かを設定するたびにnginx 404を返す "/"以外の "location"パラメータ、エラーログには次のように表示されます。 "の/ var/opt/CSW/nginxの// RES_NOT_FOUND"