Amazon-Web-Services

埠重定向不適用於 https apache2

  • May 12, 2020

我正在嘗試在 aws lightsail 實例上配置 apache2。該實例是 aws wordpress + aws linux 的預設設置。我有一個 node.js 伺服器在此實例的埠 5000 上執行。

apache 伺服器位於/opt/bitnami/apache2.

首先,我嘗試將非 http 請求的埠重定向到 5000,它執行良好。

這是 .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>

然後我用 bitnami bncert-tool 配置了 ssl 證書。我在配置 ssl 時打開了強制 https 重定向。

然後我配置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"

Bitnami 工程師在這裡,

您可以按照以下步驟在 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 伺服器的預設埠。如果您已自定義應用程序以使用不同的埠,請在此處也進行更改。

  • 創建上述文件和目錄後,將以下行添加到*/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf*主 Apache 配置文件的末尾,如下所示:
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 訪問您的應用程序。

引用自:https://serverfault.com/questions/1015140