Итак, в основном я пытаюсь настроить 3 разных виртуальных хоста SSL. У меня следующая установка
beta.website.com
api-beta.website.com
app-beta.website.com
beta - это наша старая платформа, api и app - наша часть нашей новой платформы, и они живут на портах 8000 (node api) и 3000 (node app). Так что если я пойду на сайты по http с номерами портов, все будет нормально. Однако я пытаюсь настроить прокси-сервер, и я так близок к тому, чтобы все это работало.
<VirtualHost *:443>
ServerName api-beta.website.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/website.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/website.com.key
SSLCACertificateFile /etc/pki/tls/certs/intermediate.crt
ProxyPass / http://0.0.0.0:8000/
ProxyPassReverse / http://0.0.0.0:8000/
ErrorLog logs/ssl_error_api_log
TransferLog logs/ssl_access_api_log
LogLevel warn
</VirtualHost>
<VirtualHost *:443>
ServerName app-beta.website.com
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/website.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/website.com.key
SSLCACertificateFile /etc/pki/tls/certs/intermediate.crt
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000/
ErrorLog logs/ssl_error_app_log
TransferLog logs/ssl_access_app_log
LogLevel warn
</VirtualHost>
Кроме того, у меня есть виртуальный хост для основного сайта beta.website.com, но размещать его здесь немного, и я не думаю, что это проблема. Итак, в настоящее время вот что происходит
https://beta.website.com Работает, направляет в нужное место и имеет SSL
https://api-beta.website.com Работает, направляет в нужное место и имеет SSL
https://app-beta.website.com Почти работает, направляет на контент api-beta.website.com, но имеет правильный URL и SSL.
В основном я пытаюсь прокси передавать контент с: 3000 на app-beta.website.com, но он показывает мне контент с: 8000. Я попытался вручную перейти к: 3000 и: 8000, и они оба работают, как ожидалось, и показывают правильный контент в http. Есть идеи, что мне нужно изменить?
Для всех, кому нужно с этим разобраться. Проблема (насколько я могу судить) заключалась в том, что мой более высокий номер порта (8000) предшествовал моему более низкому номеру порта (3000). Переключение порядка виртуальных хостов в моей конфигурации ssl и перезапуск apache устранили проблему. Кто-нибудь с большим знанием дела, дайте мне знать, ПОЧЕМУ.