通过https URL访问pdf

时间:2010-03-16 17:50:49

标签: internet-explorer https

我向https网站发送包含网址的简报电子邮件,然后重定向到pdf文档。

在第一次调用URL时,将通过典型的https浏览器“安全警报”弹出窗口提示用户,选择“是”时,PDF的显示将失败。失败响应的HTTP标头是:

HTTP/1.1 200 OK
Server: ECS/HTTP-Server
Date: Tue, 16 Mar 2010 15:57:26 GMT
Content-type: application/pdf
Content-language: en-US
Set-cookie: JSESSIONID=0000r111cRz1Vc-PtCJg8Cdu4eR:-1; Path=/
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Cache-control: no-cache="set-cookie, set-cookie2"
Connection: close

URL的后续调用会成功打开PDF(此时我们有初始失败请求设置的会话ID cookie)。 成功响应的HTTP标头是:

HTTP/1.1 200 OK
Server: ECS/HTTP-Server
Date: Tue, 16 Mar 2010 16:53:03 GMT
Content-type: application/pdf
Content-language: en-US
Connection: close

电子邮件客户端是Lotus Notes 6.5,它启动了IE6浏览器

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

来自IE的安全性来自可能来自自签名SSL证书。您是否拥有使用标准CA签名的SSL证书?

您是项目公司还是对任何用户开放?

PS:在显示pdf之前尝试添加额外的重定向。

答案 1 :(得分:0)

问题是由于Struts servlet在包含PDF的HTTP响应中设置了一个新的会话cookie。这导致IE 6“丢弃”PDF。

解决方案是使用本地servlet,它不会在HTTP标头中发送set-cookie。