Назад | Перейти на главную страницу

Поддомен Tomcat SSL

Я использую директивы ProxyPass и ProxyPassReverse для перенаправления всех запросов из приложения Tomcat (с порта 8080) на субдомен (порт 80). Вдобавок у меня есть php-сайт по умолчанию на 80-м порту. Итак, конфигурация выглядит так:

<VirtualHost xx.xx.xx.xx:80 >
    ServerName domain.com
    DocumentRoot /var/www/site
</VirtualHost>
<VirtualHost xx.xx.xx.xx:80 >
    ServerName sub.domain.com
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/
</VirtualHost>

Теперь мне нужно добавить поддержку SSL, поэтому я добавил в конфигурацию следующие строки:

NameVirtualHost *:443
<VirtualHost _default_:443>
    SSLEngine on
    SSLCertificateFile /usr/local/ssl/crt/public.crt
    SSLCertificateKeyFile /usr/local/ssl/private/private.key
    SSLCACertificateFile /usr/local/ssl/crt/intermediate.crt
    ServerName domain.com:443
    DocumentRoot /var/www/site
</VirtualHost>

Но проблема в том, что https отлично работает только на корневом сайте, но когда я пытаюсь получить субдомены через https, он перенаправляет меня на несуществующую страницу ... Как я могу настроить apache, чтобы реализовать это?

Спасибо

Вы не добавили SSL (порт 443) virtualHost для sub.domain.com, например.

<VirtualHost _default_:443>
ServerName sub.domain.com

SSLEngine On
SSLCertificateFile /usr/local/ssl/crt/public.crt
SSLCertificateKeyFile /usr/local/ssl/private/private.key
SSLCACertificateFile /usr/local/ssl/crt/intermediate.crt

ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
        Order deny,allow
        Allow from all
</Proxy>

# Needed if you want to go to preserve the SSL connection all the way to tomcat,
# but not worth it as both daemons are on the same physical box.
#SSLProxyEngine On  

ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>