Nginx作为tomcat的前端

时间:2013-07-24 23:17:43

标签: tomcat

我想将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/;
    } 
}

1 个答案:

答案 0 :(得分:1)

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

proxy_set_header X-Real-IP $remote_addr;