前言:最近公司使用springBoot框架做一个项目。然后没有项目名。直接是8081端口访问。www.smadmin.com:8081/login.html,这样就能直接访问。现在老大希望不要有8081,后面加一个指定路径,www.smadmin.com/manage,这样去访问项目。
然后我在 nginx 做了如下配置:server{
listen :80;
server_name : www.smadmin.com;
location /manage {
proxy_pass http://127.0.0.1:8081/login.html;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
但是在访问的时候,登陆页面上的验证码确是直接访问www.smadmin.com/image/cheack/,这样没法访问直接报404.应该是www.smadmin.com:8081/image/cheack/。这样才能获取验证码。所有的请求都是没有带8081.而是走的默认的80端口。然后百度大家说
在这一行proxy_set_header Host $host做修改。 什么, $host:8081,$host:$server_port等等。都不行,还是走的默认的80端口。
求助各位大佬帮帮忙
改成 proxy_pass http://127.0.0.1:8081/
访问的时候
www.smadmin.com/login.html 试试
location /
proxy_pass http://127.0.0.1:8081/login.html;
改成
proxy_pass http://127.0.0.1:8081访问的时候
www.smadmin.com/login.html
试试这个