【问题标题】:Nginx proxy https to http - routines:ssl3_get_record:wrong version numberNginx 代理 https 到 http - 例程:ssl3_get_record:错误的版本号
【发布时间】:2021-11-05 22:57:43
【问题描述】:

这就是我配置 Nginx 的方式

upstream stage {
   server example.com;
}
server {
    server_name IP;
    listen 80;
    
    location / {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;
      proxy_set_header protocol Token;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "Upgrade";
              
      proxy_pass https://stage; 
   }
}

我在 error.log 上看到了这个

2021/11/03 15:26:14 [error] 40782#40782: *1 SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) while SSL hands
haking to upstream, client: IP, server: IP, request: "POST / HTTP/1.1", upstream: "https://IP:80/", host: "IP:10784"

如何将用户的请求从 http 代理到 https?

【问题讨论】:

    标签: nginx nginx-reverse-proxy


    【解决方案1】:

    最终配置:

    upstream stage {
        server example.com:443;
    }
    server {
        server_name IP;
        listen 80;
        
        location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host example.com;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Port 443;
            proxy_set_header X-Forwarded-Proto: https;
            proxy_ssl_verify off;
                  
            proxy_pass https://stage$request_uri; 
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-11-28
      • 2019-04-14
      • 2021-06-01
      • 2021-06-23
      • 2021-08-15
      • 2019-04-05
      • 2014-01-12
      • 2012-10-05
      • 1970-01-01
      相关资源
      最近更新 更多