我正在设置一个本地主机来使用 nginx 测试反向代理,并且我一直在获取
2021/03/17 14:57:44 [info] 11820#9124: *189 SSL_do_handshake() failed (SSL: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:SSL alert number 46) while SSL handshaking, client: 127.0.0.1, server: 0.0.0.0:443
这是我的 nginx 文件配置:
#user nobody;
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name localhost;
ssl_certificate domain.crt;
ssl_certificate_key domain.rsa;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:4000;
proxy_read_timeout 90;
}
}
}
.crt 和 .rsa 文件是用 IIS 制作的,应该与 localhost 一起使用,nodeJS 端口设置为 4000。当我使用 HTTP 重定向它时,它可以工作,当我使用 HTTPS 时它不会。
有什么想法吗?