使用SSL密码连接nginx websocket

使用SSL密码连接nginx websocket,c,ssl,encryption,nginx,websocket,C,Ssl,Encryption,Nginx,Websocket,我使用下面的配置部署了一个nginxweb服务 server { listen 443; server_name localhost; root html; index index.html index.htm; ssl on; ssl_certificate /etc/nginx/ssl/current.crt; ssl_certificate_key /etc/nginx/ssl/current.key; ssl_session

我使用下面的配置部署了一个nginxweb服务

server {
    listen 443;
    server_name localhost;
    root html;
    index index.html index.htm;
    ssl on;
    ssl_certificate /etc/nginx/ssl/current.crt;
    ssl_certificate_key /etc/nginx/ssl/current.key;
    ssl_session_timeout 5m;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
    ssl_prefer_server_ciphers on;

    location / {
            proxy_pass http://172.16.9.245:33400;
    }
    location /csconf/ {
            proxy_pass http://172.16.9.245:33200;
    }
    location /websockets/ {
            proxy_pass http://172.16.9.245:33143;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
    }
}
我的客户尝试使用C代码连接到此websocket

.....
const SSL_METHOD *meth = SSLv3_method();
SslCtx = SSL_CTX_new(meth);
SSL_CTX_set_options(SslCtx, SSL_OP_NO_COMPRESSION);
SSL_CTX_set_cipher_list(SslCtx, "RC4-SHA:DEC-CBC3-SHA:DES-CBC-SHA");
.....
int ret = SSL_connect(obj->ssl);
它抛出“错误:14077410:SSL例程:SSL23\u GET\u服务器\u HELLO:sslv3警报握手失败:s23\u clnt.c:741:”

为什么握手会出错?请帮我解释一下这个问题


谢谢

我不确定这是否是原因,但它修复了我收到的握手错误:

改变

proxy\u set\u头连接“升级”

资本
升级

proxy\u set\u头连接“升级”