Apacheの異なるポートに仮想ホストを作成するにはどうすればよいですか?


20

私はApacheにこれをさせたい>

mydomain.com:80  --- opens var/www1
mydomain.com:81  --- opens var/ww2
mydomain.com:82  --- opens var/www3

問題は、それらのポートが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

そして、ポートをチェックしました... 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

回答:


39

Jeffの答えを拡張するには、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>

私はまさにそうしましたが、それでも愛はありません
-qodeninja

これらのポートにローカルおよび/またはリモートでtelnet接続できますか?
スレイマー

NameVirtualHostアパッチ2.4で使用する場合は効果がありません
ヴァヒド・アミリ

NameVirtualHostは私にとって効果があるようで、Apache 2.4を使用しています。NameVirtualHostがなければ、 "<VirtualHost *:number>"はVirtualHostが他のポートで応答するのを防ぐのに十分ではありません。
rsethc

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.