项目部署过程中使用单个域名来实现前后端解析
proxy_pass
proxy_pass在nginx中可以将监听的端口代理到内网端口或者其他的地方。
- 最简单的nginx代理
# /etc/nginx/nginx.conf
server {
listen 80;
server_name test.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
上面就能实现 nginx 将域名 test.com代理到内网的8080端口
匹配路径代理
这有以下几种情况
- proxy_pass代理的ip后面不加上斜杠,这会将访问域名后面的路径全部加到代理ip的后面
# /etc/nginx/nginx.conf
server {
listen 80;
server_name test.com;
location /api/ {
proxy_pass http://127.0.0.1:8080;
}
}
浏览器访问 http://www.test.com/api/kol
实际对应的内网地址 127.0.0.1:8080/api/kol
- proxy_pass 代理的ip后面加上斜杠,匹配到的后面的地址加到代理ip 的后面
# /etc/nginx/nginx.conf
server {
listen 80;
server_name test.com;
location /api/ {
proxy_pass http://127.0.0.1:8080/;
}
}
浏览器访问 htt