我在node js中有一个web应用程序,它运行在端口3000上,我无法让它使用ssl证书,我得到了以下代码:
/etc/apache 2/域名配置文件为:
<VirtualHost *:443>
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
ProxyPreserveHost on
ProxyPass / https://***.es:3000/
ProxyPassReverse / https://***.es:3000/
SSLEngine on
SSLCertificateFile /certs/certificateSSL.crt
SSLCertificateKeyFile /certs/keySSL.key
SSLCertificateChainFile /certs/DigiCertCA.crt
ServerAdmin webmaster@localhost
ServerName ***.es
ProxyRequests Off
ServerAlias www.***.es
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
SSL看起来是正确的,但我无法修复代理错误:
当我跟踪/var/log/apache 2/error.log时,我得到了以下错误:
[Mon Jan 16 17:47:29.698548 2023] [proxy_http:error] [pid 22330:tid 140606592464640] [client ****:54470] AH01097: pass request body failed to *****:3000 (****.es) from **** ()
我能怎么办?
非常感谢你们!!!
1条答案
按热度按时间pcww981p1#
假设您将ProxyPass传递到端口3000上的某个端口,并且在此端口上具有某个后端是常见的设置**(其本身未启用https**),则您可能具有ProxyPass(和ProxyPassReverse)指令错误。请尝试将其与
http://...
一起使用,而不是https://...
-方法应反映内部服务器实际使用的协议,而不是要用于反向代理的协议。