要求

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/;

这两个/有或者没有,影响非常大.

标签: nginx, proxy, proxy_pass, 反向代理, 静态网站, static