Конфигурация Apache VirtualHost для Express сервера, работающего на локальном хосте - PullRequest
0 голосов
/ 02 июня 2019

Я борюсь за несколько дней, чтобы правильно настроить эту вещь.

То, чего я хочу добиться, - это запустить виртуальный хост apache с ssl на порту 443, чтобы обслуживать папку dist / приложения Angular. Это работает нормально, но мне нужен сервер Express, работающий на localhost: 3000 на той же машине.

Поэтому я попытался прокси-передать его так:

<VirtualHost *:443>
  ServerAdmin me@mail.com
  ServerName sub.domain.com
  DocumentRoot /var/www/folder/dist
  SSLEngine on
  SSLCertificateFile      /etc/ssl/certs/apache.cer
  SSLCertificateKeyFile   /etc/ssl/private/apache.key
  ProxyPass /api http://localhost:3000/
  ProxyPassReverse /api http://localhost:3000/
</VirtualHost>

Но это не работает, когда я звоню https://sub.domain.com/api/get/some/data, тогда итоговый вызов будет get/some/data. (Может быть, RewriteRule может помочь здесь?)

Затем я попытался создать VirtualHost только для приложения Express:

<VirtualHost *:3001>
  ServerAdmin me@mail.com
  ServerName sub.domain.com
  SSLEngine on
  SSLCertificateFile      /etc/ssl/certs/apache.cer
  SSLCertificateKeyFile   /etc/ssl/private/apache.key
  ProxyPass / http://localhost:3000/
  ProxyPassReverse / http://localhost:3000/
</VirtualHost>

Но ни https://sub.domain.com.io:3001/get/some/data, ни http://sub.domain.com.io:3001/get/some/data не дают никаких результатов, это оправдывает истечение времени ожидания.

Чего я хочу достичь, так это запустить угловой сайт через https (как сейчас) и экспресс-сервер на локальном хосте без ssl, проксируя через apache наружу.

Как мне это настроить?

...