0

我想将 Nx 配置为运行在 8080 端口上的 tomcat6 服务器的前端,以服务于我的 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/;
    } 
}
4

1 回答 1

1

您正在利用 proxy_pass 标头,但看起来您缺少 X-Real-IP 标头:

proxy_set_header X-Real-IP $remote_addr;
于 2013-07-24T23:27:26.087 回答