一、概述
安装后ngrok
后输入子域名就可以访问内网服务了,但是访问的时候需要携带端口号,这是很不方便 的。而且对于有些服务例如微信公众平台,它只允许填入80
和
端口的地址,其他的端口是不允许的。443
所以在这里可以设置一下nginx反向代理
,相关资料:nginx反向代理
二、配置反向代理
添加ngrok.conf
到nginx
配置文件目录,填入以下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
server{ listen 80; server_name *.ngrok.dyxmq.cn; //子域名前面一定要有个* location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host:9080; # 改成你的端口号 proxy_set_header X-Nginx-Proxy true; proxy_set_header Connection ""; proxy_pass https://127.0.0.1:9080; # 改成端口号 } charset utf-8; access_log /var/log/nginx/ngrok/access.log main; error_log /var/log/nginx/ngrok/error.log error; } |
然后使用service nginx reload
命令重启nginx
,打开浏览器测试,不带端口号是可以访问的:
三、高级玩法
觉得*.ngrok.dyxmq.cn
太长了,看起来也比较丑,可以再做如下修改。
添加一个新的子域名wx.dyxmq.cn
,以A记录形式解析到服务器主机,然后在ngrok.conf
中添加以下段:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
server{ listen 80; server_name wx.dyxmq.cn; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host b.ngrok.dyxmq.cn:9080; proxy_set_header X-Nginx-Proxy true; proxy_set_header Connection ""; proxy_pass https://127.0.0.1:9080; } charset utf-8; access_log /var/log/nginx/ngrok/access.log main; error_log /var/log/nginx/ngrok/error.log error; } |
重启nginx
,同样可以访问:
评论