Nuxt with Apache2 returns 502 Proxy Error: Error reading from remote server
Nuxt with Apache2 returns 502 Proxy Error: Error reading from remote server
我有 VPS Ubuntu 18.04 和 Apache 2.4.29。当我 运行 npm run start
一切正常 如果我通过 http://example.com
.
访问我的页面
我安装了 Let's Encrypt 证书,在 nuxt.config.js
中启用了 https
,所以现在 nuxt 正在监听 https://example.com
。
我在 Apache sites-available
文件夹中的 example.com-le-ssl.conf
如下所示:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin email@example.com
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
SSLEngine On
SSLProxyEngine On
ProxyPreserveHost On
ProxyPass / https://123.123.12.123:3000/
ProxyPassReverse / https://123.123.12.123:3000/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
</IfModule>
访问https://example.com
时returns502代理错误:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: Error reading from remote server
Apache/2.4.29 (Ubuntu) Server at example.com Port 443
是 nuxt 的问题,还是其他一些 Apache 设置的问题?或者有证书的东西?但是如果我不使用端口 3000 的 ProxyPass 并且我不是 运行ning nuxt 应用程序,https 就可以工作。所以 https://example.com
有效,但当我尝试在端口 3000 上启动 nuxt 并使用 ProxyPass 来使用后端服务器时无效。
我的error.log文件:
[Thu Aug 13 14:11:12.935753 2020] [proxy:error] [pid 22355:tid 140240589145856] [client 87.197.115.218:63122] AH00898: Error reading from remote server returned by /
[Thu Aug 13 14:11:13.009134 2020] [proxy_http:error] [pid 22355:tid 140240580753152] (103)Software caused connection abort: [client 87.197.115.218:63122] AH01102: error reading status line from remote server 123.123.12.123:3000
问题是我在 nuxt.config.js
中启用了 https,然后在 example.com-le-ssl.conf
中对那个 https 使用了 ProxyPass。我的解决方案是在 http 上启动 nuxt,并在我的 example.com-le-ssl.conf
文件中将 https 更改为 http。
我有 VPS Ubuntu 18.04 和 Apache 2.4.29。当我 运行 npm run start
一切正常 如果我通过 http://example.com
.
我安装了 Let's Encrypt 证书,在 nuxt.config.js
中启用了 https
,所以现在 nuxt 正在监听 https://example.com
。
我在 Apache sites-available
文件夹中的 example.com-le-ssl.conf
如下所示:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin email@example.com
DocumentRoot /var/www/example.com
ServerName example.com
ServerAlias www.example.com
SSLEngine On
SSLProxyEngine On
ProxyPreserveHost On
ProxyPass / https://123.123.12.123:3000/
ProxyPassReverse / https://123.123.12.123:3000/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
</IfModule>
访问https://example.com
时returns502代理错误:
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request
Reason: Error reading from remote server
Apache/2.4.29 (Ubuntu) Server at example.com Port 443
是 nuxt 的问题,还是其他一些 Apache 设置的问题?或者有证书的东西?但是如果我不使用端口 3000 的 ProxyPass 并且我不是 运行ning nuxt 应用程序,https 就可以工作。所以 https://example.com
有效,但当我尝试在端口 3000 上启动 nuxt 并使用 ProxyPass 来使用后端服务器时无效。
我的error.log文件:
[Thu Aug 13 14:11:12.935753 2020] [proxy:error] [pid 22355:tid 140240589145856] [client 87.197.115.218:63122] AH00898: Error reading from remote server returned by /
[Thu Aug 13 14:11:13.009134 2020] [proxy_http:error] [pid 22355:tid 140240580753152] (103)Software caused connection abort: [client 87.197.115.218:63122] AH01102: error reading status line from remote server 123.123.12.123:3000
问题是我在 nuxt.config.js
中启用了 https,然后在 example.com-le-ssl.conf
中对那个 https 使用了 ProxyPass。我的解决方案是在 http 上启动 nuxt,并在我的 example.com-le-ssl.conf
文件中将 https 更改为 http。