我正在尝试在 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"
通过替换文件
<VirtualHost *:80>
来修复它<VirtualHost *:443>
example-https.conf
仍在等待更好的答案,谢谢。
Bitnami 工程师在这里,
您可以按照以下步骤在 Bitnami 解决方案之上部署自定义节点应用程序:
运行以下命令来创建目录:
创建并编辑/opt/bitnami/myapp/conf/httpd-prefix.conf文件并将下面的行添加到其中:
创建并编辑/opt/bitnami/myapp/conf/httpd-app.conf文件并将以下内容添加到其中。这是您的应用程序的主要配置文件,因此请根据应用程序的要求对其进行进一步修改。
创建上述文件和目录后,将以下行添加到/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf主 Apache 配置文件的末尾,如下所示:
重新启动 Apache 服务器:
您现在可以使用 Bitnami HTTPS 配置工具生成 Let's Encrypt 证书并使用 http 和 https 访问您的应用程序。