Я борюсь за несколько дней, чтобы правильно настроить эту вещь.
То, чего я хочу добиться, - это запустить виртуальный хост 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 наружу.
Как мне это настроить?