如何使用ngrok指定要使用的域名

37

我使用MAMP,并且有虚拟主机,全部都在8888端口上。例如:

  • site1.dev:8888
  • site2.dev:8888

将指向localhost/site1/localhost/site2/等。

在使用虚拟主机之前,我只需要更改我的docroot以适应我当前正在工作的项目,然后启动ngrok,如下所示:

./ngrok http 8888,它会启动并给我一个随机生成的*.ngrok.io URL。

我的问题是如何指定域名,因为我现在正在使用虚拟主机?

我已经尝试过./ngrok http site1.dev:8888, 它启动了但却只提供mamps webroot。

我使用的是免费帐户。

3个回答

92
如果您更喜欢免费选择,可以通过以下方式实现:
ngrok http --host-header=site1.dev 80

46
上面的答案对于提出的问题是正确的。但是,如果你正在使用类似于Vagrant(例如Homestead)的东西,并且为虚拟机分配了私有IP,则上述方法将无法工作。你需要使用$ ngrok http -host-header=rewrite site1.dev:80 - Cristian Calara
我有一个包含子域名的.test域名,例如'subdomain.site.test:80'。那么,这种方式适用于我:$ ngrok http 80 --host-header=subdomain.site.test:80 - pedrozopayares
1
小小的观察,截至今天,参数是 --host-header=[your_domain]。答案只是缺少了开头的额外破折号。 - mrbitzilla

5

仅适用于付费计划,否则无法使用 :(

正确使用自定义子域名的方式如下:

ngrok http -subdomain=mycustomsubdomain 80

将生成:

Forwarding                    http://mycustomsubdomain.ngrok.io -> 127.0.0.1:80
Forwarding                    https://mycustomsubdomain.ngrok.io -> 127.0.0.1:80

更多文档请参见:https://ngrok.com/docs#http-subdomain

2
仅限付费计划用户! - user6363467

5

2
除非你创建相应的CNAME,否则这不起作用...真是令人恼火。 - james emanon
1
付费计划警告很重要。 - nanquim
@Pamput,请确认一下,付费计划是否支持在我的本地主机上使用自定义别名? - Shaho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接