Назад | Перейти на главную страницу

перенаправление порта не работает для https apache2

Я пытаюсь настроить apache2 на экземпляре aws lightsail. экземпляр был установлен по умолчанию для aws wordpress + aws linux. У меня есть сервер node.js, работающий на порту 5000 в этом экземпляре.

сервер apache находится в /opt/bitnami/apache2.

Сначала я попытался перенаправить порт на 5000 для запросов, отличных от http, и это сработало.

вот файл .conf:

<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName example.com
  ServerAlias www.example.com

  # setup the proxy
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>

  ProxyPass / http://example:5000/
  ProxyPassReverse / http://example:5000/
</VirtualHost>

Затем я настроил ssl-сертификат с помощью bitnami bncert-tool. Я включил принудительное перенаправление https при настройке ssl.

затем я настроил example-https.conf как показано ниже:

<VirtualHost *:80>
  ProxyPreserveHost On
  ProxyRequests Off

  ServerName example.com
  ServerAlias www.example.com

  SSLEngine on
  SSLCertificateFile "/opt/bitnami/apache2/conf/example.com.crt"
  SSLCertificateKeyFile "/opt/bitnami/apache2/conf/example.com.key"

  # setup the proxy
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>

  ProxyPass / http://example.com:5000/
  ProxyPassReverse / http://example.com:5000/
</VirtualHost>

но на этот раз он не работает. запросы перенаправляются на https, а ответы отправляются с wordpress, а не с моего сервера node.js.

эти conf файлы находятся в /var/www и я включил их в httpd.conf с помощью

Include "/var/www/*.conf"

исправил это, заменив <VirtualHost *:80> с участием <VirtualHost *:443> на example-https.conf файл

все еще жду лучшего ответа, спасибо.

Bitnami Engineer здесь,

Вы можете развернуть собственное приложение Node поверх решения Bitnami, выполнив следующие действия:

  • Выполните следующие команды для создания каталогов:

    sudo mkdir -p /opt/bitnami/myapp
    sudo mkdir /opt/bitnami/myapp/conf
    sudo mkdir /opt/bitnami/myapp/htdocs
    
  • Создайте и отредактируйте /opt/bitnami/myapp/conf/httpd-prefix.conf файл и добавьте в него строку ниже:

    Include "/opt/bitnami/myapp/conf/httpd-app.conf"
    
  • Создайте и отредактируйте /opt/bitnami/myapp/conf/httpd-app.conf файл и добавьте к нему содержимое ниже. Это основной файл конфигурации для вашего приложения, поэтому измените его дальше в зависимости от требований вашего приложения.

    ProxyPass / http://127.0.0.1:3000/
    ProxyPassReverse / http://127.0.0.1:3000/
    

    ПРИМЕЧАНИЕ. 3000 - порт по умолчанию для сервера Express. Если вы настроили свое приложение для использования другого порта, измените и его здесь.

  • После того, как вы создали файлы и каталоги, указанные выше, добавьте следующую строку в конец основного файла конфигурации Apache по адресу /opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf, как показано ниже:

    Include "<%= variable :app_directory, :platform %>/myapp/conf/httpd-prefix.conf"
    
  • Перезагрузите сервер Apache:

    sudo /opt/bitnami/ctlscript.sh restart apache
    

Теперь вы можете использовать инструмент настройки Bitnami HTTPS для создания сертификатов Let's Encrypt и доступа к вашему приложению с помощью http и https.