如何在ssl上加载地标图标?

时间:2012-12-20 01:29:13

标签: ssl https kml google-earth-plugin

我正在开发一个使用Google地球插件的网络应用程序。最近,添加了非公共用户登录的新要求,这意味着一些用户现在通过https使用该站点。在测试中破坏的是自定义地标图标(他们使用http工作)。

图标托管在为页面提供服务的同一台服务器上。

以下是每个协议的网址。

 http - http://localhost/Images/yellow.png
 https - https://localhost/Images/yellow.png

我可以关注该链接,图片将按照您的预期显示。

图像hrefs在动态生成的kml中声明为图标样式。

我想避免在http上加载图片,因为我认为这会导致Internet Explorer向用户显示混合内容警告。

如何在使用https时正确加载图像?

1 个答案:

答案 0 :(得分:0)

我一直在与自己搏斗 - 简短的回答是,这不会奏效。如果内容是由生成任何类型的错误/提示(身份验证,无效证书等)的HTTPS站点提供的,则插件将不会加载内容。

有趣的是,桌面客户端工作正常,并在必要时提示用户提供凭据。但是,两个客户端都不允许使用不受信任的证书从站点提供内容。

我找到的唯一解决方法是:

  • 在托管内容的服务器上使用受信任的HTTPS证书(信任客户端系统上的证书或仅使用真实证书。)
  • 不要使用HTTPS基本身份验证,因为它会始终生成401 /质询响应,而Web浏览器客户端将忽略这些响应
  • 如果要求身份验证,请使用NTLM身份验证和常见(例如,域)登录。如果您在Interent Explorer(或.NET WebBrowserControl)中加载插件,将正确处理身份验证并显示图像。

上周我参加了Google地球管理员的培训,培训师证实了这个“错误”。它应该在插件的下一个版本中修复(它实际上可能已经修复 - 你使用的是什么版本的插件?)