在Vagrant中访问Apache vhost时出现问题

问题描述

我在Vagrant框中的Apache服务器上运行了Ubuntu。在我的SELECT a.[ID],b.[Some stuff here...] INTO #MyTempTable FROM OPEnjsON(@MyJSONDocuments) WITH ( ID VARCHAR(40),nestedDocument NVARCHAR(MAX) AS JSON) a CROSS APPLY OPEnjsON(nestedDocument,'$') b OPTION (MAXDOP 1) 目录中,有两个文件

cats.com.conf

sites-available

dogs.com.conf

<VirtualHost *:80>
    ServerName cats.com
    ServerAlias cats.test
    DocumentRoot /var/www/cats.com
</VirtualHost>

在流浪汉中,我已设置以下端口转发:

<VirtualHost *:80>
    ServerName dogs.com
    ServerAlias dogs.test
    DocumentRoot /var/www/dogs.com
</VirtualHost>

在我的Host IP | Host Port | Guest IP | Guest Port ---------------------------------------------- 127.0.0.2 | 8000 | 10.0.2.15 | 80 文件中:

hosts

但是当我在浏览器中访问127.0.0.2 cats.test 127.0.0.2 dogs.test 时,它无法连接。

解决方法

假设您从Ubuntu VM本身测试站点时,站点确实能够正确响应,则它缺少URL中的端口。

Ubuntu VM上的

https侦听端口80。当您指定Vagrant端口转发时:

Host IP   | Host Port | Guest IP  | Guest Port
----------------------------------------------
127.0.0.2 | 8000      | 10.0.2.15 | 80

它告诉Vagrant监听8080端口,并将流量转发到Ubuntu VM的80端口。

因此,在主机系统上,必须将浏览器指向http://cats.test:8080/

信息:当您使用http://example.com/连接到一个网站时,它默认为端口80(http://)。对于https://example.com/,它默认为端口443。但是http流量可以在任何端口上处理。在要访问的域之后,用:PORT指定端口。