我正在尝试通过 nginx 反向代理 http 服务器。该服务正在侦听端口 8123,我想在 443 上代理它。我创建了一个如下的自签名证书:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
Run Code Online (Sandbox Code Playgroud)
这是完整的 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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 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)
Run Code Online (Sandbox Code Playgroud)
我确实使用密码创建了证书,但是当我通过 重新启动它时,nginx …