浏览到不安全端口时如何修复Chrome上的ERR_UNSAFE_PORT错误


Answers:


74

Windows上

右键单击Chrome快捷方式>>属性>>

然后附加 --explicitly-allowed-ports=xxx到快捷方式目标

例:

C:\ Documents and Settings \ User \ Local Settings \ Application Data \ Google \ Chrome \ Application \ chrome.exe --explicitly-allowed-ports = 6666

来自这里的资源


2
我错过了这个答案,谢谢。我打开一个单独的问题,了解哪些端口是安全/阻止默认:superuser.com/questions/188058/...
ripper234

2
对于Windows,此答案非常好。它不会解决(例如)Mac的问题。
克里斯·R

@ChrisR:为什么?--explicitly-allowed-portsMac不存在该开关吗?
丹尼斯

2
在Mac上添加命令行标志是一件麻烦事。如果将它们添加到应用程序捆绑包中,它们通常会在升级中受到干扰。
克里斯·R

@ChrisR:您应该考虑将其添加到您的问题中。
丹尼斯

18

您也许可以在Google Chrome浏览器中将其关闭,但后果自负。Chrome阻止这些端口的确有一个很好的安全原因:基本上,您可以打开浏览器,直到成为攻击者可以用来攻击网络上其他服务的开放代理为止。

有关更多信息:为什么Chrome认为某些端口不安全?


1
为什么只在非标准端口上发出HTTP请求,据说它“打开”浏览器成为攻击本地网络中服务的开放代理?怎么开??
jj_

如果不检查它,那么任何恶意代码都可以向具有任意端口的URL发出请求。这可能不是最佳解决方案,但是通过阻止其他端口,您只能让攻击者拥有80和443的利用空间。
威拉

引用的链接现在已失效
Jeff Puckett

链接现在已死。Wayback机器:web.archive.org/web/20170216040700/https//jazzy.id.au/2012/08/…(建议编辑)
Nulano

现在,链接已在服务器上修复(服务器的时区配置不正确,导致其在错误的日期提供博客文章)。
James Roper

9

在Mac上,您可以使用Automator内置的Apple应用程序创建具有其他答案中提到的参数的Chrome启动应用程序:

  1. 启动自动器

  2. 作为“文档类型”,选择“应用程序”

  3. 添加操作“运行shell脚本”

  4. cat以下操作中的占位符脚本替换为:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --explicitly-allowed-ports=5000,6000,7000

  1. 将创建的应用程序另存为“应用程序”文件夹中的“带有允许的不安全端口的Google Chrome”

  2. 直接使用此新应用代替Google Chrome

  3. (可选)使用此方法将创建的“应用”(自动机的机器人)的默认图标替换为Chrome的默认图标(注意:如果需要,请对该答案进行投票!)

资料来源:http : //cubewot.de/node/266

图片


该图片没有完整的路径。它正在自动执行目录。
ojblass

4

对于Mac:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --explicitly-allowed-ports=5000,6000,7000

用于端口5000、6000和7000。


3

正如subanki所说,您必须将-explicitly-allowed-ports选项添加到Chrome启动命令中。

在Ubuntu中,您可以(以root身份)通过在Chrome安装文件夹下编辑“ google-chrome”脚本来执行此操作

您可以通过输入以下内容获取目录:

ls -la /usr/bin | grep chrome

然后,编辑“ google-chrome”文件,将上述开关添加到EXEC行:

exec -a "$0" "$HERE/chrome" "-explicitly-allowed-ports=6000" "$@"

只要改变“6000”用逗号分隔值则可能需要(例如:-explicitly-allowed-ports=5000,6000,7000

注意:对于UNIX,开关不以“-​​”开头,而是以单个“-”开头


FWIW,--unix上的是GNU特定的约定。许多(但不是全部)unix实用程序都模拟了它。
jpaugh

0

对于使用Node.js作为Web服务器的开发人员,这是正确的答案。
更改用于托管Web页面的端口。
例如,
如果您键入命令行节点index.js并按Enter键,
如果它开始在端口22上运行80 http请求,那么
当您访问端口22的网站时,
带有该错误页面的chrome浏览器就会抛出该错误页面。 UNSAFE PORT表示端口需要匹配内容。
谢谢。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.