我正在尝试在 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"