Nginx 名为虚拟主机在 Vagrant 中不工作

Nginx named virtual Host Not working in Vagrant

我从默认的 nginx 配置开始。修改了/etc/nginx/sites-available/default中的默认配置。这里是修改。

server {
        listen 80;
        listen [::]:80;

        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;

        server_name mysite.com www.mysite.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

/etc/nginx/nginx.conf 中的基本配置保持不变。

我 运行 整个设置在具有以下配置的 vagrant box 中。(为简洁起见,省略了其他行。)

  web.vm.network :forwarded_port, guest: 80, host: 8001
  web.vm.network "private_network", ip: "192.168.56.105"

现在,如果我在浏览器上点击 192.168.56.105,我会看到正在呈现 html 页面,但是当我键入 mysite.com 时,我会收到以下错误消息。

错误 请求的URL检索不到

在我的 /etc/hosts

中添加了以下条目
192.165.56.105 mysite.com

有趣的是,当我在直接安装在 ubuntu 机器上的 nginx 服务器上尝试相同的配置时,它起作用了。我怀疑是不是我的 Vagrant 配置有问题。谁能指出错误可能出在哪里?

您的 /etc/hosts 文件中有错字,IP 是 192.168...

192.168.56.105 mysite.com

web.vm.network :forwarded_port, guest: 80, host: 8001

在使用静态 IP 时无用,因为您将直接使用其 IP 访问服务器 VM。你真的不需要设置额外的网络接口