如何将 Angular 4 localhost 提供给 ngrok?
Posted
技术标签:
【中文标题】如何将 Angular 4 localhost 提供给 ngrok?【英文标题】:How can I serve Angular 4 localhost to ngrok? 【发布时间】:2018-01-10 00:53:33 【问题描述】:我想使用 ngrok 使我的本地开发可用于需要使用 webhook 的外部 api,但是当我在端口 4200 上运行 ngrok 时,当我尝试从 ngrok 访问该站点时,Angular 给了我Invalid Host Header
关联。有谁知道我如何使用 ngrok 从本地主机外部访问角度 ng 服务?
谢谢
【问题讨论】:
【参考方案1】:我设法通过了无效的主机标头,如果您执行ng serve --disable-host-check
,您将不会收到该错误,它应该在 ngrok 中运行。
编辑:我一直在尝试将 ngrok 用于远程 selenium 网格,但如果有人有任何想法告诉我,我无法让它工作
【讨论】:
我运行了 ngrok: "ngrok http 4200" 然后在另一个 shell 中运行 "ng serve --disable-host-check" 如你所说,现在你可以访问 ngrok 网址。谢谢指点【参考方案2】:我尝试通过禁用主机检查选项在 prod 环境中运行 ng serve 并且它起作用了,
Cmd1:
ng serve --prod --host 0.0.0.0 --disable-host-check
。
并尝试将 ngrok 与以下解决方案一起使用
Cmd2:
ngrok http 4200 -host-header="localhost:4200"
【讨论】:
今天(2019 年 9 月 5 日)这是有效的:cmd1 只是ng serve
cmd2 ngrok http 4200 -host-header="localhost:4200"
(websockets 也可以很好地使用这个配置)【参考方案3】:
这适用于单行代码:
ngrok http 4200 -host-header="localhost:4200"
【讨论】:
【参考方案4】:它正在工作,但它在控制台中抛出错误Invalid Host/Origin header
+ [WDS] Disconnected!
...
【讨论】:
【参考方案5】:小提醒,我自己面临的一个问题。对我来说,Diego Santa Cruz Mendezú 的解决方案奏效了。但它只在我的 Google Chrome 'Incognito' 浏览器中对我有用,因为我的所有扩展程序都被禁用了!只是提醒一下,控制台错误也可能是扩展错误,因此该网站可能不会(正确)显示,这就是我身边的情况。
【讨论】:
以上是关于如何将 Angular 4 localhost 提供给 ngrok?的主要内容,如果未能解决你的问题,请参考以下文章
Angular 4 和 Laravel 5.4 的刷新路由问题
带有 Angular 的 Codeigniter 4 API:“http://localhost:4200”已被 CORS 策略阻止
将 Angular 连接到 Spring 的 CORS 错误(localhost 8080 <--> localhost 4200)
如何从 angular localhost:4200 调用 spring security azure AD localhost:8080。天蓝色调用中的错误