使用Nginx SSL和Wkhtmltopdf“QSslSocket:无法解析SSLv2_client_method”错误

时间:2015-02-19 12:55:09

标签: ssl nginx wkhtmltopdf

我在Ubuntu 12.04服务器上运行某个Web应用程序,许多客户端通过HTTP而不是通过HTTPS使用。

一位客户坚持使用HTTPS,他无法下载网络应用生成的PDF文件。

PDF文件是使用wkHtmltopdf从HTML模板创建的。 Web服务器是Nginx

这是我的Nginx文件的样子:

upstream cluster_my_client {
    server 127.0.0.1:8081;
    server 127.0.0.1:8082;
}

server {
    listen 443;
    ssl on;

    ssl_certificate /etc/nginx/ssl/CON_CA__intermediate_myclient.com.pem;
    ssl_certificate_key /etc/nginx/ssl/myclient.com.key;    

    gzip on;
    root /var/www/myclient;
    client_max_body_size 10M;

    if ($scheme = http) {
        rewrite ^ https://myclient.com/ permanent;
    }
    if ($server_port = 80) {
        rewrite ^ https://$host$request_uri permanent;
    }

    location / {
        try_files $uri @proxy;
    }

    # proxy for TG2
    location @proxy {
        proxy_pass          http://cluster_myclient;
        proxy_redirect      off;
        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_read_timeout  300;
        proxy_set_header X_FORWARDED_PROTO https;       
        proxy_set_header  X-Url-Scheme $scheme;
        proxy_redirect    off;
        proxy_max_temp_file_size 0;
    }
}
server{
    listen 80;
    server_name    myclient.com;
       return         301 https://$server_name$request_uri;
}

这是我在尝试下载PDF文件时在我的应用程序日志中显示的错误:

QSslSocket: cannot resolve SSLv2_client_method

关于如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:0)

这可能与wkHtmlToPdf中提到的here中的错误有关吗?

显然有一个错误提供了您看到的确切错误消息。

答案 1 :(得分:0)

我使用wicked_pdf-helpers来解决这个问题。工作得很好https://github.com/mileszs/wicked_pdf#wicked_pdf-helpers