如何在 vagrant guest 中连接到基于名称的虚拟主机?

2023-11-29

在盒子里,我有两个虚拟主机:

<VirtualHost *:80>
    HostName my.site1
    ...
</Virtualhost *:80>

<VirtualHost *:80>
    HostName my.site2
    ...
</VirtualHost>

如何从主机连接到来宾内的虚拟主机?在我的(主人)/etc/hosts I have:

127.0.0.1 my.site1
127.0.0.1 my.site2

由于 Vagrant 的端口映射,访客只能通过以下方式访问:my.site1:port, e.g., my.site:3000。这样,来宾中的 Apache 就会将我带到根目录(Apache 的欢迎站点)。两个虚拟主机都是相同的:my.site1:3000 and my.site2:3000.

apachectl -S logs:

VirtualHost configuration:
*:80     is a NameVirtualHost
         default server stretch.localdomain (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost stretch.localdomain (/etc/apache2/sites-enabled/000-default.conf:1)
         port 80 namevhost my.site1 (/etc/apache2/sites-enabled/001-site1.conf:1)
         port 80 namevhost my.site2 (/etc/apache2/sites-enabled/002-site2.conf:1)

这是因为虚拟主机配置不正确,还是我在名称/端口或主机/来宾配置中遗漏了某些点?

我说得对吗?它应该这样工作吗?

my.site1:3000 -> contents of my.site1
my.site2:3000 -> contents of my.site2

好的,所以这里的问题是网络。我能够重现这个问题。首先,请禁用 Vagrant 中的端口转发。只是评论config.vm.network "forwarded_port", guest: 80, host: 8070并做一个vagrant reload .要使其正常工作,您需要检查主机的 IP 地址,然后转到 Vagrant 文件并编辑config.vm.network "private_network", ip: "X.X.X.X"这样这里的ip地址实际上和你的主机在同一个网络上。我所做的只是将最后一个八位字节增加 1。我的本地 IP 地址是 192.168.23.45,因此我将 192.168.23.46 分配给 Vagrant 来宾。

一旦完成此操作,也许您只需使用即可省去所有麻烦thisshell 脚本为您自己创建虚拟主机。我已将输出粘贴在下面,您可以查看我已使用 mysite1 和 mysite2 名称设置了两个虚拟主机。

然后只需将主机文件条目放在您的主机上,如下所示:

192.168.23.46 mysite1 192.168.23.46 mysite2

并使用访问该网站http://mysite1 and http://mysite2。您可能想要更改脚本放置在相应文档根目录下的index.php的内容,以便您可以确保请求由正确的虚拟主机处理,因为该脚本只处理apache的默认index.php将在您的两个文档根目录下找到。

另一种选择是让 Vagrant box 在公共网络上可用,然后 使用公共 IP 访问它,为此,您必须启用config.vm.network "public_network"在 Vagrant 文件中,创建虚拟主机的其余过程是相同的(使用此脚本)。

[root@localhost vagrant]# bash test.sh
Enter the server name your want (without www) : mysite1
Enter a CNAME (e.g. :www or dev for dev.website.com) : mysite1
Enter the path of directory you wanna use (e.g. : /var/www/, dont forget the /): /var/www/mysite1/
Enter the user you wanna use (e.g. : apache) : apache
Enter the listened IP for the server (e.g. : *): *
Web directory created with success !
/etc/httpd/conf.d/mysite1.conf
Virtual host created !
Would you like me to create ssl virtual host [y/n]?
n
Testing configuration
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Would you like me to restart the server [y/n]?
y
Redirecting to /bin/systemctl restart httpd.service
======================================
All works done! You should be able to see your website at http://mysite1

Share the love! <3
======================================

Wanna contribute to improve this script? Found a bug? https://gist.github.com/mattmezza/2e326ba2f1352a4b42b8
[root@localhost vagrant]# bash test.sh
Enter the server name your want (without www) : mysite2
Enter a CNAME (e.g. :www or dev for dev.website.com) : mysite2
Enter the path of directory you wanna use (e.g. : /var/www/, dont forget the /): /var/www/mysite2/
Enter the user you wanna use (e.g. : apache) : apache
Enter the listened IP for the server (e.g. : *): *
Web directory created with success !
/etc/httpd/conf.d/mysite2.conf
Virtual host created !
Would you like me to create ssl virtual host [y/n]?
n
Testing configuration
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Would you like me to restart the server [y/n]?
y
Redirecting to /bin/systemctl restart httpd.service
======================================
All works done! You should be able to see your website at http://mysite2

Share the love! <3
======================================

Wanna contribute to improve this script? Found a bug? https://gist.github.com/mattmezza/2e326ba2f1352a4b42b8

如果您需要更多说明,请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 vagrant guest 中连接到基于名称的虚拟主机? 的相关文章

随机推荐