微信小程序和公众号,要求外链的页面或 API 必须使用 https。https 意味着需要证书,在测试阶段,很不方便,因此部署的测试站点都是 http。于是尝试在现有的 https 站点中,用 nginx 转发请求到只有 http 的测试站点。
方法众所周知,在 nginx.conf 中添加一个转发规则。
server {
listen 80;
server_name 服务器 IP;
......
}
server {
listen 443 ssl;
server_name 服务器 IP;
......
location /test/ { #注意一定要以“/”结尾,否则 /test/*** 一律跳到 /test
proxy_pass http:// 测试的 HTTP 站点 IP: 端口 /;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这样的话,我们在小程序或公众号中用类似 https://www.abc.com/test/**** 的方式请求,nginx 能为我们转发到相应的测试站点上。注意转发规则中,一定要以“/”结尾,否则 /test/*** 一律被跳到 /test。
微信扫描下方的二维码阅读本文
正文完