server {
listen 858;
server_name localhost;
root "文件地址";
location / {
try_files $uri $uri/ /index.html;
}
location “查找” {
proxy_pass “替换地址”;
}
}
1:
location /app/ {
proxy_pass http://localhost:8555/;
}中的/app/是将前端的请求替换成http://localhost:8555/;
例如前端请求为:app/list_out location /app/就会将app/list_out 中的app/替换成http://localhost:8555/最后到后端的请求为http://localhost:8555/list_out
2:
location /prod/to/ {
proxy_pass http://localhost:8787/;
rewrite ^/prod/(.*)$ /$1 break;
}
和
location /prod/to/ {
proxy_pass http://localhost:8787/to/;
}
效果相同
第一个配置中的rewrite
指令会将/prod/
替换为/
,而第二个配置不包含rewrite
指令,不会对URI进行重写,只是简单地将请求代理到指定的地址
3:
rewrite ^/prod/(.*)$ /$1 break;
这条规则的作用是将匹配到的以/prod
开头的URI重写,其中(.*)
是一个捕获组,用于匹配任意字符,$1
则代表这个捕获组匹配到的内容。所以,这条规则实际上是将/prod
后面的部分提取出来,作为新的URI发送到后端,而/prod
本身不会被包含在新的URI中