Ich habe Nginx verwendet, um eine Tomcat-Anwendung als Reverse-Proxy zu verwenden. Beim direkten Zugriff auf die IP lautet der Reverse-Proxy test-bbs.xx.comhttp://192.168.1.112:8282/bbs
Wenn ich mich anmelde, springt die BBS-Anwendung mit 302 zur Startseite.
Aber wenn ich Nginx verwende, springt sie zu test-bbs.xx.com/bbshttp://192.168.1.2:8080/bbs
listen 80;
server_name test-bbs.xx.com;
root html;
index index.html;
access_log /usr/local/nginx/logs/bbs.access.log;
error_log /usr/local/nginx/logs/bbs.error.log;
charset utf-8;
location / {
proxy_pass http://192.168.1.112:8282/bbs/;
proxy_redirect off;
proxy_set_header HOST $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100m;
client_body_buffer_size 128k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
已经自己解决了
添加
proxy_redirect http://test-bbs.xx.com/bbs/ /
;又碰到另外一个问题,就是反代后session丢失。
解决办法
添加
proxy_cookie_path /bbs/ /
;