У меня есть хост (Ubuntu 16.04) и виртуальная машина на нем. Я хочу использовать apache для пересылки разных портов на виртуальную машину с модулем обратного прокси. Проблема в том, что apache не прослушивает все настроенные порты.
У меня в /etc/apache2/sites-enabled/moni1.softxs.ch есть следующие настройки:
<VirtualHost *:80>
ServerName moni1.softxs.ch
Redirect 301 / https://moni1.softxs.ch/
</VirtualHost>
<VirtualHost *:443>
ServerName moni1.softxs.ch
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://172.16.3.101:80/ retry=0
ProxyPassReverse / http://172.16.3.101/
SSLCertificateFile /etc/letsencrypt/live/moni1.softxs.ch/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/moni1.softxs.ch/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/moni1.softxs.ch/chain.pem
</VirtualHost>
<VirtualHost *:3000>
ServerName moni1.softxs.ch
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://172.16.3.101:3000/ retry=0
ProxyPassReverse / http://172.16.3.101/
</VirtualHost>
<VirtualHost *:3010>
ServerName moni1.softxs.ch
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://172.16.3.101:3010/ retry=0
ProxyPassReverse / http://172.16.3.101/
</VirtualHost>
С помощью netstat я вижу, что apache не прослушивает порт 3010. Не знаю, почему.
$ netstat -nlptu | grep apache2
tcp6 0 0 :::80 :::* LISTEN 32252/apache2
tcp6 0 0 :::3000 :::* LISTEN 32252/apache2
tcp6 0 0 :::443 :::* LISTEN 32252/apache2
Порт бесплатный, могу слушать nc
. Все остальные настройки обратного прокси работают должным образом.
Где-то в вашей конфигурации Apache у вас должны быть соответствующие Listen
директивы для каждого порта, который вы хотите слушать:
Listen 3000
Listen 3010
Похоже, что один у вас уже есть, а другой нет.