Apache에서 다른 포트에 대한 가상 호스트를 작성하는 방법


20

나는 아파치가 이것을하기를 원한다>

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

Linux에서 해당 포트가 열려 있는지 알 수 없습니다. 어떻게 확인합니까?

그리고 그들이 방화벽이 아닌 경우 방화벽에서 열어서 아파치를들을 수 있습니까?

나는 이것을 시도했다

> 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의 답변을 확장하려면 아파치 구성에서 이와 같은 것이 필요합니다.

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>

난 정확히
그랬지만

로컬 및 / 또는 원격으로이 포트 중 하나에 텔넷으로 연결할 수 있습니까?
sreimer

NameVirtualHost아파치 2.4와 함께 사용하면 효과가 없습니다
바히드 아미리

NameVirtualHost는 저에게 영향을 미치는 것으로 보이며 Apache 2.4를 사용하고 있습니다. NameVirtualHost가 없으면 "<VirtualHost * : number>"는 VirtualHost가 다른 포트에서 응답하지 못하도록 충분하지 않습니다.
rsethc

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.