我試圖用Nginx和Tomcat做ssh卸載。我的設置是: 瀏覽器 - (HTTPS) - > nginx - >(http/https) - > tomcat
我已經設置nginx轉發請求方案在x -forward-proto頭。
proxy_pass http://default_upstream;
add_header Set-Cookie "SRVGROUP=$group; path=/";
proxy_next_upstream error;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Host $http_host;
proxy_set_header X-Forwarded-For $http_x_forwarded_for;
proxy_set_header X-URI $uri;
proxy_set_header X-ARGS $args;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Scheme $scheme;
proxy_set_header Refer $http_refer;
proxy_redirect http:// $scheme://;
proxy_set_header Strict-Transport-Security "max-age=7200";
在tomcat上打印X-Forwarded-Proto頭文件我總是得到http。 如果我更換
proxy_set_header X-Forwarded-Proto $scheme;
與
proxy_set_header X-Forwarded-Proto https;
它所有的作品。但我想使用$ scheme,因爲並非所有頁面都通過https提供。
正在尋找解決方案,或者之前是否有人遇到過相同的問題。