SSL - Apache и Node.js на том же экземпляре Amazon EC2

Я разместил свой веб-сайт на экземпляре EC2, с помощью Apache. SSL был также настроен правильно, работая на HTTPS, порт 443.

В настоящее время я просто добавил приложение чата на веб-сайт с помощью Node.js + socket.io. Сервер Node.js слушает на порте 3333.

Как я могу выполнить эти два сервера (Apache и Node.js) на том же экземпляре с защищенным SSL? Amazon EC2 не позволяет мне открывать другой порт для HTTPS. Это только позволяет 443 для HTTPS.

3
задан 19 August 2015 в 17:11
1 ответ

Вам не нужно ни для чего открывать дополнительный порт. Вы можете просто настроить новый виртуальный хост с новым ServerName с помощью директивы ProxyPass для направления входящего трафика SSL на ваш локальный сервер Node.js.

Например:

<VirtualHost *:443>
        ServerName nodeapp.com
        ServerAlias www.nodeapp.com app.nodeapp.com
        ServerAdmin webmas@localhost
        DocumentRoot /not/that/important

        SSLEngine on
        SSLCertificateFile      /path/to/cert
        SSLCertificateKeyFile   /path/to/key


        ProxyRequests off
        ProxyPass "/" "http://127.0.0.1:3333/"
        ProxyPassReverse "/" "http://127.0.0.1:3333/"

        ErrorLog ${APACHE_LOG_DIR}/nodeapp_error.log
        CustomLog ${APACHE_LOG_DIR}/nodeapp_access.log combined

</VirtualHost>
]
0
ответ дан 3 December 2019 в 08:06

Теги

Похожие вопросы