Я использую node.js, express.js, greenlock-express, redirect-https и apache2.
Сервер использует apache2 с двумя vhosts на порте 80.
Vhost1:
<VirtualHost *:80>
ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ProxyRequests Off
ProxyPreserveHost On
ProxyVia Full
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://www.example.com:3002/
ProxyPassReverse / http://www.example.com:3002
</VirtualHost>
Vhost2:
<VirtualHost *:80>
ServerName subdomain.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ProxyRequests Off
ProxyPreserveHost On
ProxyVia Full
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://subdomain.example.com:3005/
ProxyPassReverse / http://subdomain.example.com:3005
</VirtualHost>
У меня есть два приложения node.js: № 1, который работает на порту 3002
, и № 2, который работает на порту 3005
.
У меня есть настройка greenlock-express
для каждого приложения узла, и оба используют redirect-https
для принудительного перенаправления на пользовательские порты SSL.
Node app #1
использует httpSecureServer: 444
Node app #2
использует httpSecureServer: 445
Перенаправления работают отлично, однако после перенаправления:
Node app #1
URL-адрес остается https://www.example.com:444/login
после перенаправления.
Node app #2
URL-адрес остается https://subdomain.example.com:445/login
после перенаправления.
Есть ли для меня изящный способ удалитьномер порта из обоих перенаправленных URL, так что
Node App #1
даст https://www.example.com/login
Node App #2
даст https://subdomain.example.com/login
Возможно ли это?