Я запускаю сервер 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.
Надеюсь, это вам поможет.
[]