如何使用主机名配置 Vagrant 虚拟机?

如何使用主机名配置 Vagrant 虚拟机?

我正在尝试使用 Vagrant 在 Windows 10 主机上使用 Virtual Box 设置 Ubuntu/Apache 虚拟机,然后配置我的主机,以便magento.dev在浏览器中打开 URL 会在我的虚拟机上打开一个页面。

这是我的 Vagrant 文件中的相关配置

Vagrant.configure("2") do |config|
   config.vm.network "private_network", ip: 192.168.10.10
   config.vm.hostname = "magento.dev"

我添加了这一行

192.168.10.10 magento.dev

hosts我的 Windows 10 主机中的文件。

配置我的 Vagrant 计算机后,我.htaccess从 html 目录中删除了该文件,以确保它不会执行导致此问题的意外操作。

我可以打开浏览器并转到http://192.168.10.10我的 Windows 主机,然后显示虚拟机中的网页。

我可以ping magento.dev从我的 Windows 主机,ping 显示 IP192.168.10.10并返回响应。

但是,如果我在浏览器中访问magento.dev,则会收到“ERR_CONNECTION_REFUSED”错误。另请注意,URL 更改为https,而http://192.168.10.10URL 未更改为https

当我192.168.10.10通过 Windows 主机上的 Web 浏览器访问时,我可以看到 Apache 访问日志已更新。当我在浏览器中访问时magento.dev,Apache 访问日志未更新。因此 Apache 必须忽略我的 Web 请求或不接收它,但我不明白为什么,因为我的 Windowshosts文件应该将这些请求定向到 192.168.10.10,我可以使用ping magento.dev.

如何进行设置,以便magento.dev在主机上访问从虚拟机返回网页?

答案1

抱歉我之前的回答,显然我在回答之前没有阅读你的问题。这次我做到了,幸运的是我知道真正的答案:)

.dev 是注册的 TLD(顶级域名),归 Google 所有。 Chrome 63+ 和 Firefox 59+ 将强制所有以 .dev(和 .foo)结尾的域通过预加载的 HTTP 严格传输安全 (HSTS) 标头重定向到 HTTPS。

这是 whois 数据:

$ whois .dev
% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

domain:       DEV

organisation: Charleston Road Registry Inc.
address:      1600 Amphitheatre Parkway
address:      Mountain View, CA 94043
address:      United States

contact:      administrative
name:         Domains Policy and Compliance
organisation: Google Inc.
address:      601 N. 34th Street
address:      Seattle, WA 98103
address:      United States
phone:        1 202 642 2325
fax-no:       1 650 492 5631
e-mail:       [email protected]

contact:      technical
name:         Richard Roberto
organisation: Google Inc.
address:      76 9th Avenue, 4th Floor
address:      New York, NY 10011
address:      United States
phone:        1 212 565 2633
fax-no:       1 650 492 5631
e-mail:       [email protected]

nserver:      NS-TLD1.CHARLESTONROADREGISTRY.COM 2001:4860:4802:32:0:0:0:69 216.239.32.105
nserver:      NS-TLD2.CHARLESTONROADREGISTRY.COM 2001:4860:4802:34:0:0:0:69 216.239.34.105
nserver:      NS-TLD3.CHARLESTONROADREGISTRY.COM 2001:4860:4802:36:0:0:0:69 216.239.36.105
nserver:      NS-TLD4.CHARLESTONROADREGISTRY.COM 2001:4860:4802:38:0:0:0:69 216.239.38.105
nserver:      NS-TLD5.CHARLESTONROADREGISTRY.COM 2001:4860:4805:0:0:0:0:69 216.239.60.105
ds-rdata:     60074 8 2 b942e2ce5aebf62fca59d05707e6dbb795211d540d8adba02e9e89e833424785

whois:        whois.nic.google

status:       ACTIVE
remarks:      Registration information: http://www.registry.google

created:      2014-11-20
changed:      2018-06-09
source:       IANA

这是铬源中的相关位: https://chromium.googlesource.com/chromium/src.git/+/63.0.3239.118/net/http/transport_security_state_static.json#255

// eTLDs
// At the moment, this only includes Google-owned gTLDs,
// but other gTLDs and eTLDs are welcome to preload if they are interested.
{ "name": "google", "include_subdomains": true, "mode": "force-https", "pins": "google" },
{ "name": "dev", "include_subdomains": true, "mode": "force-https" },
{ "name": "foo", "include_subdomains": true, "mode": "force-https" },
{ "name": "page", "include_subdomains": true, "mode": "force-https" },
{ "name": "app", "include_subdomains": true, "mode": "force-https" },
{ "name": "chrome", "include_subdomains": true, "mode": "force-https" },

我建议您使用不同的后缀。我倾向于对我的域之一使用实际的 DNS 记录,但 .test 后缀也可以。

相关内容