apache2 - несколько поддоменов, каждый из которых обслуживается через обратный прокси для разных локальных портов

У меня есть следующие локальные службы, расположенные на сервере с IP 198.51.100.1:

127.0.0.1:5000 - special pda service
127.0.0.1:8888 - www service

Я настроил следующие записи DNS:

foo.com - A - 198.51.100.1
pda.foo.com - A - 198.51.100.1
www.foo.com - A - 198.51.100.1

Идея состоит в том, что если пользователь вводит pda.foo.com сайт будет прокси против 127.0.0.1:5000 с помощью SSL и что если пользователь вводит www.foo.com сайт будет прокси против 127.0.0.1:8888 с помощью SSL,

У меня есть следующий конфиг как единственный sites-enabled файл конфигурации:

NameVirtualHost *:80

<IfModule mod_ssl.c>
<VirtualHost *:80>
        ServerName pda.foo.com
        Redirect permanent / https://pda.foo.com
</VirtualHost>
<VirtualHost *:80>
        ServerName www.foo.com
        Redirect permanent / https://www.foo.com
</VirtualHost>
</IfModule>

NameVirtualHost *:443
<IfModule mod_ssl.c>
<VirtualHost *:443>

        ServerName pda.foo.com

        SSLProxyEngine On
        ProxyPass / http://127.0.0.1:5000/
        ProxyPassReverse / http://127.0.0.1:5000/

        SSLEngine On
        SSLCertificateFile  /etc/letsencrypt/live/server2.foobar.com/fullchain.pem
        SSLCertificateKeyFile       /etc/letsencrypt/live/server2.foobar.com/privkey.pem

</VirtualHost>
<VirtualHost *:443>

        ServerName www.foo.com

        SSLProxyEngine On
        ProxyPass / http://127.0.0.1:8888/
        ProxyPassReverse / http://127.0.0.1:8888/

        SSLEngine On
        SSLCertificateFile  /etc/letsencrypt/live/server2.foobar.com/fullchain.pem
        SSLCertificateKeyFile       /etc/letsencrypt/live/server2.foobar.com/privkey.pem

</VirtualHost>
</IfModule>

Это показано, когда вы делаете apachectl -t -D DUMP_VHOSTS:

AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/sites-enabled/mysite.conf:1
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server pda.foo.com (/etc/apache2/sites-enabled/mysite.conf:4)
         port 80 namevhost pda.foo.com (/etc/apache2/sites-enabled/mysite.conf:4)
         port 80 namevhost www.foo.com (/etc/apache2/sites-enabled/mysite.conf:10)
*:443                  is a NameVirtualHost
         default server pda.foo.com (/etc/apache2/sites-enabled/mysite.conf:20)
         port 443 namevhost pda.foo.com (/etc/apache2/sites-enabled/mysite.conf:20)
         port 443 namevhost www.foo.com (/etc/apache2/sites-enabled/mysite.conf:47)

Когда я пытаюсь получить доступ к www.foo.com, я получаю сайт, который не был найден поставщиком услуг DNS.

Когда я пытаюсь получить доступ к pda.foo.com, он перенаправляет на SSL, но я снова получаю сайт, не найденный поставщиком услуг.

Какие-нибудь советы?

0 ответов

Другие вопросы по тегам