我可以同时为前端和后端设置ngrok吗?

时间:2019-02-07 06:40:17

标签: .net angular6 ngrok

我想同时为前端和后端设置ngrok,这是不可能的,因为我的前端位于Angular 6上,后端位于.net内核中。 / p>

当前端和后端都在同一主机和端口上时,我实现了ngrok。 (都在.Net和MVC中)。因此它们在同一端口上运行。

现在,我想知道是否还有其他方法可以做到这一点。

我的Angular 6在http://localhost:4200/上运行 后端在https://localhost:44343/

上运行

请建议我

2 个答案:

答案 0 :(得分:2)

我找到了一个在后端和前端都使用隧道的解决方案,在 ngrok.yml 配置文件中定义了它们。 Windows 中的此文件通常位于 C:\Users\you\ .ngrok2\ngrok.yml。

authtoken: <your token is already here>
tunnels:
    frontend:
        proto: http
        addr: 3000
    backend:
        proto: http
        addr: 1337

我的 React.js 端口是 3000,Sails.js 是 1337。

解除 ngrok 服务: ngrok start frontend backend

Ngrok 将重定向两个端口并提供两个地址而不是一个地址(如果考虑 https,总共四个)。

最后,我使用在 ngrok CLI 中找到的新 URL 更改了前端的 API 地址(您将通过查看端口号来识别它)。

我是通过阅读类似帖子(您可以找到详细信息 here)而不使用“子域”部分(仅在 ngrok 付费服务中可用)来找到该解决方案的。

答案 1 :(得分:0)

好问题!我有一个类似的问题,我使后端在本地的行为类似于前端路径的代理服务器,因此它将传入的前端请求路由到本地前端服务器。在Python中,使用Flask很容易,使用此处描述的代理方法:https://stackoverflow.com/a/36601467/38611