我在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
关于如何解决这个问题的任何想法?
答案 0 :(得分:0)
这可能与wkHtmlToPdf中提到的here中的错误有关吗?
显然有一个错误提供了您看到的确切错误消息。
答案 1 :(得分:0)
我使用wicked_pdf-helpers来解决这个问题。工作得很好https://github.com/mileszs/wicked_pdf#wicked_pdf-helpers