Apache перенаправляет все запросы для определенного домена на экспресс-сервер - PullRequest
0 голосов
/ 31 марта 2019

Начну с того, что я не эксперт по Apache и не новичок в этом вопросе. У меня есть экспресс-сервер, который прослушивает порт 443. Я размещаю его на VPS, на котором работает Centos7, на котором размещено около 40 других веб-сайтов, и, насколько я знаю, серверы используют Apache (я не настраивал его, я использовал cPanel и WHM).

Теперь, поскольку я знаю, что Apache прослушивает порт 443 для обслуживания веб-сайтов, мне интересно, как я могу объединить Apache с моим сервером Express (если вообще есть выход).

Я знаю, что могу просто изменить порт моего экспресс-приложения, но тогда порт появится в адресной строке моего приложения, и я не хочу этого.

Я действительно не знаю, что попробовать, так как мои знания в Apache ограничены. Я буду рад предоставить вам более подробную информацию, если она вам понадобится.

Большое спасибо!

EDIT:

Я попытался отредактировать файл httpd.conf по умолчанию в /etc/apache2/conf/httpd.conf.

Вот что я сделал:

<VirtualHost MY-IP:443>
ServerName <mydomain.com>
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
 ProxyRequests Off
    <Proxy *>
     Require all granted
    </Proxy>
  ProxyPass / <mydomain:8443.com>
  ProxyPassReverse / <mydomain:8443.com>
  <Location />
       Require all granted
   </Location>
 SSLEngine On
 SSLCertificateFile /var/cpanel/ssl/apache_tls/leadu.co.il/combined
</VirtualHost>

Я взял конфигурацию из этого поста .

При такой конфигурации при попытке зайти на домен я получаю внутреннюю ошибку 500.

1 Ответ

0 голосов
/ 31 марта 2019

В вашем файле конфигурации Apache вы должны добавить следующее:

Если вы хотите обслуживать свое приложение из подпапки (https://yourwebsite/express-app/):

    ProxyPass /express-app/ http://localhost:3000/
    ProxyPassReverse /express-app/ http://localhost:3000/

Если вы хотите обслуживать свое приложениеот root (https://yourwebsite):

    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/

Я предполагаю, что здесь ваше приложение работает на порту 3000. Измените его, если в противном случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...