常见的一种NGINX代理配置
要求
1 源网站是一个静态的VUE网站
将源网站http://yyy.com 的 /api 路径的请求,转发给后台 API 网站 http://api.xxx.com
比如:
http://yyy.com/api/user/login
转发到
http://api.xxx.com/user/login
2 在 yyy.com上的 NGINX 配置
#PROXY-START/api
location ^~ /api/
{
proxy_pass http://api.xxx.com/;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_filepI4WNtmz 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_filepI4WNtmz 1;
expires 1m;
}
if ( $static_filepI4WNtmz = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/
3 需要特别注意的是
location 最后有 /
location ^~ /api/
proxy_pass 最后有 /
proxy_pass http://api.xxx.com/;
这两个/有或者没有,影响非常大.