一、概述
安装后 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
,同样可以访问:
评论