【问题标题】:Safari Localhost Permission BlockedSafari 本地主机权限被阻止
【发布时间】:2017-02-09 09:19:19
【问题描述】:

所以今天遇到了这个问题,我有一个需要用户地理位置的网站。在本地主机上本地运行时它工作正常,但现在我收到一条错误消息,提示“通过与http://localhost:4200 的不安全连接阻止了对地理位置的访问”。苹果?我也尝试了127.0.0.1,但得到了相同的结果。我是在开发设置中遗漏了什么,还是 Apple 刚刚破坏了一切?

Safari 版本:9.1.3 (11601.7.8)

【问题讨论】:

  • Ionic 开发也有这个问题。 Safari 似乎甚至阻止了 Chrome 允许在 localhost 上获得地理定位权限的 localhost。如果您的开发选择的是 Safari 浏览器,则无济于事。
  • 是的,这绝对是一个 Safari 错误,它只是让测试这些东西变得更加困难。
  • 遇到同样的问题,找到解决方案了吗?
  • 不行,暂时没有解决办法。
  • 一年多过去了:我们还在黑暗中吗?我可以使用属性绕过本地主机上的 ATS,但绝对无法让 Geolocation API 工作。

标签: safari permissions geolocation localhost


【解决方案1】:

也许可以使用 https (How to get angular-cli to ng serve over HTTPS),如果由于某种原因不能直接使用,也许您可​​以使用提供 https 的透明代理。

许多 HTML5 新功能(例如访问网络摄像头、地理定位等)现在仅允许在通过 https 方案提供的页面上使用,因此使用 https 可能会再次起作用。如果没有,也许可以修改主机文件以解决问题。

【讨论】:

    【解决方案2】:

    我找到了一种解决方案,但它有点乏味。我使用ngrok 路由我的服务器,然后地理定位工作正常。我唯一不喜欢的是它有限制(如果你使用免费帐户),就像你不能刷新很多次一样。

    编辑:

    要使用 ngrok 先下载它,然后在终端类型上

    ./ngrok http <port number>
    

    ngrok example. 然后它将向您显示 url 路由。我用的是https。转到那个地址。

    More ngrok instructions and download

    【讨论】:

    • (作为审阅者),我对问题的问题描述中的大多数技术都非常熟悉,但我不清楚如何将您的答案付诸实践。你能多说一点背景故事吗? TIA。
    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    相关资源
    最近更新 更多