第一步 在Nginx中配置一个站点
这里需要填写外网访问的域名、内网代理ip以及端口信息
第二步 启用SSL证书
大部分的网站配置一般到这里保存后就可以通过Https正常访问了,但是DooTask的一些站点信息并不能正常访问到,例如用户的头像信息。
第三步 添加Nginx参数解决该问题
首先我们需要知道为什么通过Nginx代理后我们无法访问的原因。经过调用浏览器的调试功能我们可以看到有一些信息的访问还是IP地址并不是我们已经添加好的外网域名,那在外网肯定是没办法正常解析内网的IP的,所以我们需要在高级配置中添加一些参数,让其端口、路径都能够正确的携带给Server。
修改完成以后我们就可以正常的访问服务了
location / {
proxy_pass http://10.0.12.15:8082; //需要修改为代理的服务器内网访问地址
proxy_set_header Host $http_host;
proxy_redirect http:// https://; //http强制https
proxy_set_header X-Forwarded-Host $http_host; //携带主机头
proxy_set_header X-Forwarded-Port $server_port; //携带端口
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_http_version 1.1;
}
如遇到Mixed Content: The page at '<URL>' was loaded over HTTPS, but requested an insecure script '<URL>'. This request has been blocked; the content must be served over HTTPS.错误时加多一句
add_header Content-Security-Policy "upgrade-insecure-requests";
评论区