Я запускаю сервер Node js на порту 8080. Apache работает на порту 80 с https. Я хотел запустить Node в apache с https. Я следил за учебником из Вот. Вот мой файл конфигурации.
Node.conf:
`<VirtualHost *:80>
ServerName example.com
SSLProxyEngine On
SSLProxyCheckPeerCN on
SSLProxyCheckPeerExpire on
ProxyRequests Off
ProxyPreserveHost On
ProxyVia Full
<Proxy *>
Require all granted
</Proxy>
<Location /node>
ProxyPass https://127.0.0.1:8080
ProxyPassReverse https://127.0.0.1:8080
</Location>
<Directory "/var/www/html/node">
AllowOverride All
</Directory>
</VirtualHost>
Проблема:
Сайт рабочий Если поставить: http://mys-site.com:8080/test?
Что хотел: https://my-site.com/test?
Похоже, ваша конфигурация прокси (Apache) не прослушивает порт 443.
По сути, вам нужно изменить две вещи:
1 - Убедитесь, что Apache прослушивает 443.
Проверьте файл конфигурации Apache и убедитесь, что он прослушивает 443.
На Centos будет в /etc/httpd/conf/httpd.conf
Запись вроде:
Listen 80
Listen 443
2 - Исправьте конфигурацию Apache
Ваш Node.conf
поэтому ему нужно отвечать на входящие соединения на порт 443:
<VirtualHost *:443>
ServerName example.com
SSLProxyEngine On
SSLProxyCheckPeerCN on
SSLProxyCheckPeerExpire on
ProxyRequests Off
ProxyPreserveHost On
ProxyVia Full
<Proxy *>
Require all granted
</Proxy>
<Location /node>
ProxyPass https://127.0.0.1:8080
ProxyPassReverse https://127.0.0.1:8080
</Location>
<Directory "/var/www/html/node">
AllowOverride All
</Directory>
</VirtualHost>
Обратите внимание, что я изменил только порт прослушивания в вашей конфигурации Vhost. Вы также можете проверить конфигурацию TLS. Возможно, ваша конфигурация Apache настроила его в другом файле, например /etc/httpd/conf.d/00-ssl.conf
. В любом случае вы должны проверить https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_configurations для рекомендуемых конфигураций безопасности относительно TLS.
Надеюсь, это вам поможет.
[]