我正在运行Windows Server 2012,并在 C:\ xampp 中安装了XAMPP Apache作为服务运行
我已在 C:\ Windows \ System32 \ Drivers \ etc 中编辑了主机文件,添加如下
127.0.0.1 landing.local
我在 C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf
中添加了vhostNameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
DocumentRoot C:/xampp/htdocs/
ServerName localhost
ServerAlias localhost
</VirtualHost>
<VirtualHost landing.local:80>
DocumentRoot "C:/xampp/htdocs/landing"
ServerName landing.mydomain.com
ServerAlias landing.mydomain.com
</VirtualHost>
我还在 httpd-vhosts.conf
中的后续行中取消注释NameVirtualHost *:80
和 httpd.conf
LoadModule vhost_alias_module modules/mod_vhost_alias.so
Include "conf/extra/httpd-vhosts.conf"
并且Apache配置为侦听端口80。
Listen 80
landing.mydomain.com 从Windows Azure重定向到公共虚拟IP。
当我访问本地http://landing.local/网站时 但是当我尝试从网络内部访问landing.mydomain.com时它不起作用,而是重定向到主localhost网站。
所以我尝试在主机中使用 landing.mydomain.com ,在vHost中使用 landing.mydomain.com 。
<VirtualHost landing.mydomain.com:80>
DocumentRoot "C:/xampp/htdocs/landing"
ServerName landing.mydomain.com
ServerAlias landing.mydomain.com
</VirtualHost>
这次我可以从网络内部访问 landing.mydomain.com ,但是当我尝试从外部本地网络访问它时,它无法正常工作。
我还尝试编辑主机文件并将 landing.mydomain.com 指向我的公共虚拟IP或内部IP地址。没帮忙......
<VirtualHost landing.mydomain.com:80>
DocumentRoot "C:/xampp/htdocs/landing"
ServerName landing.mydomain.com
ServerAlias landing.mydomain.com
</VirtualHost>
主机文件
255.255.255.255 landing.mydomain.com
其中255.255.255.255是我的公共虚拟IP和255.255.255.254内部IP,但它不起作用。它只会打开我的localhost(mydomain.com的主页)
255.255.255.254 landing.mydomain.com
通过编辑httpd.conf
将Apache绑定到公共虚拟IP 255.255.255.255Listen 255.255.255.255:80
(OS 10049)请求的地址在其上下文中无效。 :AH00072:make_sock:无法绑定到地址255.255.255.255:80 AH00451:没有可用的侦听套接字,关闭
当我绑定到内部IP地址时,Apache确实工作了,但我仍然无法从网络外部访问landing.mydomain.com,它再次被重定向到我的主页(服务器localhost)Listen 255.255.255.254:80
我从dos开始时也收到了这个警告,但这不是我的问题的原因,那是我从 httpd.conf 取消注释的那条线因为我在板上的某个地方读了它有助于解决一些问题他们的问题,根本没有帮助我,与评论和未注释相同。
主持人&gt;&gt;
127.0.0.1 landing.mydomain.com
使用此配置,我无法从localhost访问子域。我仍然能够从网络外部使用A记录重定向到我的服务器公共虚拟IP。
AH00548:NameVirtualHost无效,将在下一次删除 发布C:/xampp/apache/conf/extra/httpd-vhosts.conf:19
所以我将主机文件中的IP地址也改为内部IP地址255.255.255.254
255.255.255.254 landing.mydomain.com
将vhost留作。
NameVirtualHost localhost:80
<VirtualHost localhost:80>
DocumentRoot C:/xampp/htdocs/
ServerName localhost
ServerAlias localhost
</VirtualHost>
<VirtualHost landing.mydomain.com:80>
DocumentRoot "C:/xampp/htdocs/landing"
ServerName landing.mydomain.com
ServerAlias landing.mydomain.com
</VirtualHost>
如果有人熟悉Windows Server 2012上的Apache配置,请欣赏任何帮助:)
我忘了提到你不要忘记在Azure平台上配置Windows Server防火墙(允许端口80和443,tcp传入流量)以及端点(tcp 80和443)。