ssl - 如何获取地标图标以通过 ssl 加载?

标签 ssl https kml google-earth-plugin

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

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

这里是每个协议(protocol)的 url。

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

我可以点击该链接,图像将如您所愿出现。

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

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

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

最佳答案

我自己一直在努力解决这个问题——简短的回答是这行不通。如果内容由生成任何类型的错误/提示(身份验证、无效证书等)的 HTTPS 站点提供,则插件将不会加载内容。

有趣的是,桌面客户端运行良好,并在必要时提示用户输入凭据。但是,两个客户端都不允许使用不受信任的证书在站点外提供内容。

我发现的唯一解决方法是:

  • 在托管内容的服务器上使用受信任的 HTTPS 证书(信任客户端系统上的证书或只使用真实证书。)
  • 不要使用 HTTPS 基本身份验证,因为它总是会生成 401/Challenge 响应,网络浏览器客户端会简单地忽略它
  • 如果需要身份验证,请使用 NTLM 身份验证和通用(例如域)登录。如果您在 Interent Explorer(或 .NET WebBrowserControl)中加载插件,将正确处理身份验证并显示图像。

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

关于ssl - 如何获取地标图标以通过 ssl 加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963939/

相关文章:

javascript - http|https NodeJS 模块将目标 url 更改为 http 导致重定向

javascript - 如何修复 Cloudflare Worker 中的 'Uncaught (in promise) TypeError: Cannot read property ' 方法“未定义”?

mongodb - MongoDB 中未启用 x.509 身份验证

asp-classic - asp-classic站点的注销功能

javascript - 通过javascript以编程方式将证书导入firefox受信任的根CA

amazon-web-services - 带有 HTTPS 的 AWS CloudFront 自定义域名不起作用

javascript - GeoXML3 无法检索 KML 文件

python - 使用 lxml 编辑 KML 的 <description> 的 html 内容

ssl - 运行 php 脚本时出现 Unresolved 警告消息 : file_get_contents(): Unable to find the wrapper "https"

security - Internet Explorer 阻止此网站显示安全证书错误的内容