无法在浏览器中打开Swagger API

时间:2017-07-08 09:42:54

标签: vagrant swagger local swagger-editor default-browser

我正在尝试在VM / Vagrant框中设置Swagger。我所做的就在下面。

我。 端口转发使用Vagrantfile

dev.vm.network "forwarded_port", guest: 3000, host: 3000, host_ip: 
"127.0.0.1", auto_correct: true

II。 流浪者盒中的Swagger配置

npm install -g swagger
Create a new swagger project
swagger project create hello-world

我尝试使用命令swagger project edit -p 3000 -s打开Swagger编辑器,它提供了

  

启动Swagger编辑器。运行Swagger Editor API服务器。您可以   将GET和PUT调用到http://127.0.0.1:3000/editor/spec

似乎一切都很完美,所以只访问了本地桌面浏览器(windows),访问了http://localhost:3000/editor/spec,这让我无法访问此网站

  

curl http://localhost:3000/editor/spec在VM / vagrant框中工作正常。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

问题是

  

致电the CLI reference guide

因此无法在本地主机以外的任何网络接口上访问。

您需要更改此项以在服务器的IP上启动应用程序,或者您可以使用0.0.0.0(特殊IP以便所有接口都可以访问它)

您需要以

运行
swagger project edit --host 0.0.0.0 -p 3000 -s 

(请参阅private network) - 然后您就可以通过http://localhost:3000

从您的主机访问

注意:另一种选择是使用public network或{{3}}分配静态IP;然后启动swagger project edit --host <static_ip_from_vagrantfile> -p 3000 -s并使用静态IP从主机访问,在这种情况下,您不需要将任何端口从guest虚拟机转发到主机。