Làm cách nào để tạo Máy chủ ảo cho các Cổng khác nhau trên Apache?


20

Tôi muốn apache làm điều này>

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

Vấn đề là tôi không biết các cổng đó có mở trên Linux không (làm cách nào để kiểm tra?)

Và nếu họ không làm thế nào để tôi mở chúng trong tường lửa và nghe apache?

Tôi đã thử làm điều này

> 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

và tôi đã kiểm tra các cổng ... có vẻ như httpd đang lắng nghe ... nhưng tôi không biết tại sao tôi không thể nhấn URL của mình

> netstat -tulpn | less
tcp        0      0 :::80       :::*      LISTEN      6840/httpd
tcp        0      0 :::81       :::*      LISTEN      6840/httpd
tcp        0      0 :::82       :::*      LISTEN      6840/httpd

Câu trả lời:


39

Để mở rộng câu trả lời của Jeff, bạn sẽ cần một cái gì đó như thế này trong cấu hình apache của bạn

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>

Tôi đã làm chính xác điều đó ... nhưng vẫn không có tình yêu
qodeninja

bạn có thể telnet đến bất kỳ cổng nào trong số này và / hoặc từ xa không?
trả lời

NameVirtualHostkhông có tác dụng khi được sử dụng với Apache 2.4
Vahid Amiri

NameVirtualhost dường như có ảnh hưởng đối với tôi và tôi đang sử dụng Apache 2.4: không có NameVirtualhost, "<Virtualhost *: number>" không đủ để ngăn Virtualhost trả lời trên các cổng khác.
rsethc

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.