我在使用Chrome上的HTTP在我的计算机上本地运行的网站上使用地理位置。但是这不起作用,因为我在HTTP上运行而不是HTTPS。
在控制台上说:
getCurrentPosition() and watchPosition() no longer work on insecure origins.
To use this feature, you should consider switching your application to a
secure origin, such as HTTPS. See https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins
for more details.
根据Deprecating Powerful Features on Insecure Origins说明使用--unsafely-treat-insecure-origin-as-secure="http://example.com"
标志启动chrome。我运行的命令类似于:
chrome.exe --unsafely-treat-insecure-origin-as-secure="http://hello.app"
但是,仍然会出现相同的错误消息。
如何解决此问题。
答案 0 :(得分:19)
没有一个解决方案对我有用。
我通过以下步骤实现了这一目标。
答案 1 :(得分:7)
你一定错过了一些步骤。试着按照这个
在“目标”中,将以下内容粘贴到链接的末尾
- user-data-dir = / tmp / foo --unsafely-treat-insecure-origin-as-secure = http://example.com
所以Target应该看起来有点类似于
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=/tmp/foo --unsafely-treat-insecure-origin-as-secure=http://example.com
编辑:如果上述步骤对您不起作用,您可能正在使用Chrome V63,将其更新为上面的V64,因为此标志在V63中搞砸了。
P.S。如果它仍然不起作用,请遵循这些额外步骤
--user-data-dir=
中将值更改为“C:\ ChromeTempFiles”将这些添加到您的目标
- allow-running-insecure-content --reduce-security-for-testing
所以你的目标现在应该是这样的
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=C:\ChromeTempFiles --unsafely-treat-insecure-origin-as-secure=http://example.com --allow-running-insecure-content --reduce-security-for-testing
答案 2 :(得分:3)
您还应该为该会话使用temproary新配置文件。像这样的东西:
chrome.exe --user-data-dir=/test/only/profile/dir --unsafely-treat-insecure-origin-as-secure="http://example.com"
答案 3 :(得分:1)
只需针对Chrome 70进行此更新即可。
“ C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe” --user-data-dir = C:\ ChromeTempFiles --allow-running-insecure-content
现在有人知道Firefox是否具有等效功能吗?
答案 4 :(得分:0)
对于Chromium 44,请使用
-不安全-治疗不安全来源= http://192.168.0.101:3000
代替
-不安全处理不安全的原始== http://192.168.0.101:3000
看到bug
答案 5 :(得分:0)
在Google Chrome浏览器中,您只需在地址栏中输入“ chrome:// flags”,然后搜索“ --unsafely-treat-insecure-origin-as-secure”,启用该标志,然后输入您希望将其视为安全域的下方字段(可以输入多个,并用逗号分隔)。这可能会或可能不会损害您的安全性,但是我认为不会,因为getCurrentPosition()和watchPosition()是最近不推荐使用的功能。这也适用于公共服务域。
答案 6 :(得分:0)
在Chrome 79中,无论如何,此设置均无效。
我最终要做的是在VPS上配置域以显示一些测试网页,然后使用Let's Encrypt的certbot为该网页生成有效的证书。
然后我将该证书复制到我的计算机上,并且现在有效。