问题描述:H5端linux服务器通过nginx反向代理请求后端服务器首次正常,然后就报403不允许访问。本地服务器windows通过nginx反向代理请求后端服务器正常。
原因:windows版本nginx与linux版本nginx存在细微差距,linux需要配置一些其他参数才可以进行反向代理。
解决方案:在nginx的location模块加入以下配置
location /aaa {
proxy_pass https://xxx.xxxx.xx;
proxy_set_header Host xxx.xxxx.xx;
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_ssl_session_reuse off;
proxy_ssl_server_name on;
proxy_ssl_name $proxy_host;
proxy_ssl_protocols TLSv1.2;
# proxy_hide_header Upgrade;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_fileRz9UuNee 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_fileRz9UuNee 1;
expires 1m;
}
if ( $static_fileRz9UuNee = 0 )
{
add_header Cache-Control no-cache;
}
}
这里加的比较多,喜欢钻研的同学可以对配置进行一个个测试~