如何在同一台服务器上 运行 ngrok 和 apache/nginx?

How to run ngrok and apache/nginx on same server?

ngrok 使用 80 端口,apache 或 nginx 也使用 80 端口。我希望 运行 ngrok 和 web 在一台服务器上使用端口 80 并使用子域来区分它们。

例如ngrok 运行ning 在 tunnel.mysite.com 和 nginx 的网站 运行ning 在 web.mysite.com

怎么做?

谢谢!

不能同时监听同一个端口。

您可以更改 ngrok 的端口(例如更改为 8080),然后在 nginx 中设置一个新的虚拟主机以反向代理 http://tunnel.mysite.com to http://ngrok:8080

nginx 配置示例:

server {
    server_name web.mysite.com;
    ...
    }
}

server {
    server_name tunnel.mysite.com;
    location / {
        proxy_pass http://ngrok_IP:8080;     
    }
}