Как использовать один и тот же порт для http и https - PullRequest
0 голосов
/ 30 мая 2018

Я почти ничего не знаю о http и этой теме, поэтому не мог найти достаточно ответов, чтобы решить мой вопрос.Дайте мне знать, если этот вопрос дублирован, и вы уже нашли ответ по этому поводу.

Чего я хочу достичь

Обычно он работает с http://domain:3000, но я хочу сделать этодоступно для https://domain:3000.

Что я сделал

Я установил давайте зашифруем и добавим настройки обратного прокси в мой файл настроек apache.Таким образом, было возможно получить доступ к https://domain:3000 с помощью пути, например https://domain/api, но, как я уже упоминал выше, я хочу напрямую использовать номер порта и для https.

дополнительные строки на моемhttpd.conf

NameVirtualHost *:80
<VirtualHost *:80>
     ServerName my.domain
     ServerAlias www.my.domain *.my.domain
     DocumentRoot /var/www/html
     RewriteEngine on
     RewriteCond %{SERVER_NAME} =my.domain [OR]
     RewriteCond %{SERVER_NAME} =www.my.domain [OR]
     RewriteCond %{SERVER_NAME} =*.my.domain
     RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
     Listen 443
</IfModule>
Include /etc/httpd/conf/httpd-le-ssl.conf

<IfModule mod_proxy.c>
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass /api http://my.domain:3000
    ProxyPassReverse /api http://my.domain:3000
</IfModule>

Нужно ли добавить дополнительные настройки?или любой другой способ решить это?

1 Ответ

0 голосов
/ 30 мая 2018

Лучше настроить приложение, в котором вы должны использовать другой порт для SSL-соединений, например, 3001 и перенаправлять запросы через HTTPS на этот порт или обращаться к нему напрямую

...