微信小程序和公众号,要求外链的页面或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。
微信扫描下方的二维码阅读本文