如何为 Apache 上的不同端口创建虚拟主机?

qod*_*nja 28 port apache-2.2

我想让 apache 做到这一点 >

mydomain.com:80  --- opens var/www1
mydomain.com:81  --- opens var/ww2
mydomain.com:82  --- opens var/www3
Run Code Online (Sandbox Code Playgroud)

问题是我不知道这些端口是否在 Linux 上打开(我如何检查?)

如果它们不是,我如何在防火墙中打开它们并让 apache 收听?

我试过这样做

> iptables -A RH-Firewall-1-INPUT -m  NEW -m tcp -p tcp –dport 81 -j ACCEPT
iptables v1.3.5: Couldn't load match `NEW':/lib64/iptables/libipt_NEW.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我检查了端口......看起来httpd正在监听......但我不知道为什么我无法点击我的URL

> netstat -tulpn | less
tcp        0      0 :::80       :::*      LISTEN      6840/httpd
tcp        0      0 :::81       :::*      LISTEN      6840/httpd
tcp        0      0 :::82       :::*      LISTEN      6840/httpd
Run Code Online (Sandbox Code Playgroud)

小智 51

要扩展杰夫的答案,您的 apache 配置中需要这样的东西

Listen 80
Listen 81
Listen 82

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www1
ServerName www.example1.com
</VirtualHost>

NameVirtualHost *:81
<VirtualHost *:81>
DocumentRoot /var/www2
ServerName www.example2.org
</VirtualHost>


NameVirtualHost *:82
<VirtualHost *:82>
DocumentRoot /var/www3
ServerName www.example3.org
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)


Jef*_*ert 10

步骤 1:配置 Apache 以侦听您要服务的每个端口。

第 2 步:为要服务的每个端口设置虚拟主机配置。


San*_*tha 7

Listen 81
Listen 82

<VirtualHost *:80>
 DocumentRoot /var/www1
 ServerName mydomain.com
</VirtualHost>
          //access --  mydomain.com:80
<VirtualHost *:81>
 DocumentRoot /var/www2
 ServerName mydomain.com
</VirtualHost>
          //access --  mydomain.com:81
<VirtualHost *:82>
 DocumentRoot /var/www3
 ServerName mydomain.com
</VirtualHost>
          //access --  mydomain.com:82
Run Code Online (Sandbox Code Playgroud)