多个 Springboot 项目运行在不同端口,通过不同路径转发到不同端口
http://127.0.0.1:8081/index 访问 webA
http://127.0.0.1:8082/index 访问 webB
http://127.0.0.1:8083/index 访问 webC
修改后:
http://127.0.0.1/a/index 访问 webA
http://127.0.0.1/b/index 访问 webB
http://127.0.0.1/c/index 访问 webC
1 | http { |
访问某个路径直接跳转到新页面
输入 http://127.0.0.1/blog 就会跳转到百度首页
1 | location ^~ /blog { |
location 与 proxy_pass 斜杠问题
1 | server.port=10240 |
服务运行在 10240 端口,使用 http://127.0.0.1:10240/a?name=123 即可输出结果
proxy_pass 后面加上斜杠,访问 http://127.0.0.1/test1/a?name=123 其实访问 http://127.0.0.1:10240/a?name=123
1
2
3location ^~/test1/ {
proxy_pass http://127.0.0.1:10240/;
}proxy_pass 后面没有斜杠,访问 http://127.0.0.1/test1/a?name=123 它其实访问的是 http://127.0.0.1:10240/test1/a?name=123
1
2
3location ^~/test1/ {
proxy_pass http://127.0.0.1:10240;
}
遇到的问题
- unknown log format “main” in C:\nginx-1.17.3/conf/nginx.conf:28
打开nginx.conf,”main”错误是因为丢失了log_format选项,之前把他屏蔽掉了,修改之后问题解决。
listen 80 端口不生效
include /etc/nginx/sites-enabled/*; 注释掉,这个
权限问题导致Nginx 403 Forbidden错误的解决方法
于是在nginx.conf头部加入一行:user root;