使用 nodeJS 的 nginx 反向代理

时间:2021-03-17 15:01:13

标签: node.js nginx ssl

我正在设置一个本地主机来使用 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 时它不会。

有什么想法吗?

0 个答案:

没有答案