nginx反向代理去除前缀
背景:vue项目部署到linux服务器,前端项目和后台项目部署同一台服务器,需要用到nginx做反向代理需求:当前有访问地址http://www.testurl.com:8087/test-api/admin/login请求中需要去掉test-api下面对nginx.config进行配置通过rewrite重写url#keepalive_timeout 0;keepalive_timeout 65;
背景:vue项目部署到linux服务器,前端项目和后台项目部署同一台服务器,需要用到nginx做反向代理
需求:
当前有访问地址http://www.testurl.com:8087/test-api/admin/login
请求中需要去掉test-api
下面对nginx.config进行配置
通过rewrite重写url
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream test-service {
server 127.0.0.1:8083;
}
server {
listen 8087;
server_name localhost;
location / {
root /usr/local/nginx/html/dist;
try_files $uri $uri/ /index.html =404;
index home.html index.html index.htm;
chunked_transfer_encoding on;
add_header Cache-Control no-cache;
}
location ~ ^/test-api/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
rewrite ^/test-api/(.*)$ /$1 break;
proxy_pass http://test-service;
}
}
~ ^/
test-api/
表示匹配前缀是test-api的请求,rewrite
重写了url。 即/
test-api/*
后面的路径直接拼接到http://test-service后面,即移除test-api。
此时访问http://www.testurl.com:8087/test-api/admin/login
就如同访问http://127.0.0.1:8083/admin/login
实现了反向代理同时还去除了路径前缀
更多推荐
所有评论(0)