我想将Nx配置为我的tomcat6服务器的前端,该服务器运行在8080端口上以服务我的grail应用程序。我做了如下所列的基本设置。但是面对一些未知的问题,登陆页面通过使用强制https正常工作,但每当我尝试登录我的应用程序时,它绕过Nx并直接转到8080端口,这是不希望的。
server {
listen 80;
listen [::]:80 ipv6only=on default_server;
listen 443 default ssl;
root /var/lib/tomcat6/webapps/ROOT/;
server_name xx.xx.xx.xx;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
proxy_connect_timeout 240;
proxy_send_timeout 240;
proxy_read_timeout 240;
proxy_pass http://localhost:8080/;
}
}
答案 0 :(得分:1)
您正在利用proxy_pass标头,但看起来您缺少X-Real-IP标头:
proxy_set_header X-Real-IP $remote_addr;