首页 > 解决方案 > 如何在 vagrant box 中解析域?

问题描述

我有一个运行 Nginx 服务器的 Debian Vagrant 盒子,它托管两个应该通过 JSON 端点共享数据的网站/服务。

可以通过Host MacOS 系统的浏览器https://app.test访问网站。https://cdn.app.test

为此,我config.vm.network "private_network", ip: "33.33.33.10"在 Vagrantfile 中进行了设置。

我已添加到/etc/hostsMacOS 上的文件中:

33.33.33.10 app.test
33.33.33.10 cdn.app.test

我可以从 Mac 访问这两个域,这很有效。

但是我不能curl https://cdn.app.test/ Vagrant box shell 中使用,因为域不会被解析。既不工作curl_init也不file_get_contents工作。

我猜问题是 Vagrant 看不到 MacOS 主机条目。

配置这个开发系统的正确方法是什么?什么是简单的解决方法?

标签: macosnginxroutingvagrantdebian-jessie

解决方案


对于流浪者。将默认配置从 /etc/apache2/sites-available/000-default.conf 复制到 /etc/apache2/sites-available/"".conf

vagrant ssh // login

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/"<your-test-domain>".conf

sites-available 中的文件夹名称应与您稍后将在主机文件中更改的名称完全相同。

然后编辑您的 ServerName 和 DocumentRoot,启用它 -> sudo a2ensite "".conf

重新启动 Apache,在主机操作系统中编辑主机文件。

在您的主机文件中,指向您在 Vagrantfile 中指定的私有 IP


推荐阅读