参考:
https://ld246.com/article/1520600719462
https://www.cnblogs.com/brianzhu/p/8624703.html
最近打算开发个微信小程序用于访问我运行在服务端的一个程序。但是微信不允许访问http的网址,而只能访问https的网址。
而我自己搭建的服务器只挂了个Nginx,只能通过http+ip地址访问。所以直接访问时行不通的。
但是我有个朋友有个带https的域名的服务器,可以选择让他修改一下他的Nginx的配置,当我访问指定uri时,反向代理到我的服务器来。
但是我的服务器的ip可能会经常变动,假如用静态的反向代理的话,我每更换一次IP,就要麻烦他修改一次配置文件,这肯定会被骂死。
所以,直接让他配置个动态的反向代理,我这边通过uri携带我自己的ip去访问就行。
比如对方的域名为 www.test.com, 然后他留了个路径 remoteDevice给我,然后我这边通过访问: https://www.test.com/remoteDevice/1.2.3.4/ 就可以访问到 http://1.2.3.4 了。
相当于将对方的网站作为梯子,走到我需要的地方。
1.编辑 /conf/nginx.conf 文件,在恰当的地方加入这个:
location /remoteDevice/ {
#root html;
#index index.html index.htm;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
#proxy_pass http://$uri;
#rewrite /images/(.*) /download/$1;
rewrite /remoteDevice/(.*) http://$1;
}
2.执行以下语句,检查配置是否有错误:
nginx.exe -t
3.无错误,导入新的配置
nginx.exe -s reload
假如发现导入之后,Nginx没有按预料的配置运行,请检查是否打开了多个Nginx实例
参考:https://blog.csdn.net/qq_37495786/article/details/83860644
https://www.cnblogs.com/qianzf/p/6809427.html
假如是,那就全杀掉,然后重新启动Nginx
taskkill /IM nginx.exe /F
start nginx