所以我有一个运行NginX反向代理的Python应用程序,提供与正在运行的应用程序的SSL连接。我已使用适当的proxy_set_header指令配置反向代理,以将$ remote_addr变量转发到X-Real-IP头。我正在努力的是,Python应用程序仍在将localhost地址作为访问应用程序的IP。
这个确切的配置是在其他两台服务器上设置的,由其他人运行而没有任何问题。我只是不确定主NginX conf文件中是否有我需要修改的配置选项,尽管其他管理员都没有提到他们的配置存在这个问题。
附件是我的网站配置。任何建议都将不胜感激。
server {
listen 80;
listen [::]:80;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name redacted;
ssl_certificate /etc/nginx/ssl/redacted.crt;
ssl_certificate_key /etc/nginx/ssl/redacted.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/redacted.access.log;
location / {
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-Proto $scheme;
proxy_pass http://127.0.0.1:8765;
proxy_read_timeout 90;
proxy_redirect http://127.0.0.1:8765 https://redacted;
}
}