起因:开发小程序时,对外时需要用到https,但是开发环境没有ssl证书和域名,又不想花钱去买这些东西,就想到通过正式环境的nginx做个转发,请求发送到正式环境,然后再通过nginx转发到开发环境,这样就解决了https的问题。
处理方式也比较简单,只需要修改nginx配置文件,在配置文件中增加一个节点及一些配置信息即可,这里就用我本机的nginx转发到百度做演示
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
}
location /baidu/{
proxy_pass https://www.baidu.com/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
这里有个地方需要注意下,就是在设置转发的路径后面,必须跟上"/",否则的话会报404,因为不加/的话,当你的url包含了路径,会被解析成 https://www.baidu.com/XXX
效果如下,在地址栏输入:http://localhost:8080/baidu/ 时会被转发到百度去
如果从正式环境转发到开发环境,就只需要把对应的服务器地址修改就可以啦