Apache 监听多个端口

Apache 监听多个端口

我已经实现了在1台VM中设置多个虚拟网卡,并将网站绑定到1台服务器上的不同IP,例如,通过以下方式访问2个网站:

http://10.188.2.150
http://10.188.2.152    <--both IPs belong to the same server

缺点是,在virutalbox中,1个VM最多可以有4个网卡。

然后,我尝试以下操作:将 2 个网站绑定到相同的 IP 地址但不同的端口,以便我可以像这样访问这 2 个网站:

http://10.188.2.150:8003
http://10.188.2.150:8004

(我已经检查过‘lsof -i :[port]’没有使用这两个端口)

但我无法通过打开来访问该网站,例如:http://10.188.2.150:8003

我这样设置我的 httpd.conf:

Listen 10.188.2.150:8003
Listen 10.188.2.152:8004

<VirtualHost 10.188.2.150:8003>
ServerName 10.188.2.150:8002
ServerAdmin admin@localhost
DocumentRoot /var/www/html/panda-web/html
<Directory /var/www/html/panda-web/html>
  AllowOverride All
</Directory>
RewriteEngine On
RewriteOptions Inherit
</VirtualHost>

<VirtualHost 10.188.2.150:8004>
ServerName 10.188.2.150:8004
ServerAdmin admin@localhost
DocumentRoot /var/www/html/sheep-web/html
<Directory /var/www/html/sheep-web/html>
  AllowOverride All
</Directory>
RewriteEngine On
RewriteOptions Inherit
</VirtualHost>

我查看了 Apache 网站,但我肯定漏掉了什么?有人尝试过吗?

答案1

但我无法通过打开

对问题的分析不是很有意义。

  • 您是否检查过 Web 服务器是否打开了端口并且确实在监听连接(使用例如 netstat - 顺便说一句,您忘了提及它运行在什么操作系统上)?
  • 您是否尝试过嗅探来回传输的数据包(例如使用 wireshark)?
  • 您查看过您的服务器日志吗?

答案2

如果这是您的实际问题,您可以在单个网络适配器上拥有多个 IP 地址。

回到您最初的 Apache 问题,您还应该告诉我们您使用的 Apache 版本。对于这个特定问题来说,这可能无关紧要,但软件版本之间可能会有细微或重大的差异……

对于一般的介绍,我会看看虚拟主机Apache 文档中的指南。

您可以让 Apache 监听同一 IP 地址的不同端口:查看虚拟主机指令。

您还可以将两个虚拟主机放在同一个 IP:端口上,请查看名称虚拟主机服务器名称指令。

至少,在你的例子中,你ServerName弄错了指令。我怀疑你在疯狂编辑配置文件之前没有阅读或理解它们的文档。

相关内容