gpt4 book ai didi

ssl - 使用带有 ssl 的 nginx 时如何修复 PR_END_OF_FILE_ERROR?

转载 作者:行者123 更新时间:2023-12-04 22:35:26 28 4
gpt4 key购买 nike

我正在尝试通过 nginx 反向代理 http 服务器。该服务正在监听端口 8123,我想在 443 上代理它。
我创建了一个这样的自签名证书:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

这是完整的 nginx 配置:
events {
worker_connections 768;
}

http {
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

ssl_certificate /home/mcmsadm/cert.pem;
ssl_certificate_key /home/mcmsadm/key.pem;

location / {
proxy_pass http://localhost:8123;
}
}
}

当我尝试使用 Firefox 连接到服务器时,它显示 PR_END_OF_FILE_ERROR。

我究竟做错了什么?
谢谢!

编辑:
我在日志中发现了nginx错误信息(没想到):
SSL_CTX_use_PrivateKey_file("/home/mcmsadm/key.pem") failed 
(SSL: error:2807106B:UI routines:UI_process:processing error:while reading strings
error:0906406D:PEM routines:PEM_def_callback:problems getting password
error:0907B068:PEM routines:PEM_read_bio_PrivateKey:bad password read
error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)

我确实使用密码创建了证书,但是当我通过 nginx -s reload 重新启动它时,nginx 会要求它.为了临时解决这个问题,我将密码写在一个文件中,并将这一行添加到我的 nginx.conf :
ssl_password_file       /etc/nginx/pass;

有什么办法可以避免将密码写入文件?

最佳答案

对于其他有此问题的人.. 如果您忘记添加 ssl,也可能发生这种情况听指令。 Chrome 显示 ERR_SSL_PROTOCOL_ERROR而 Firefox 显示 PR_END_OF_FILE_ERROR .

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
...
}

关于ssl - 使用带有 ssl 的 nginx 时如何修复 PR_END_OF_FILE_ERROR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60799450/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com