我在 Mac 上使用 MAMP PRO。当我尝试在浏览器(任何浏览器)中查看我的本地站点之一时,它开始默认使用 https,这时我的问题就开始出现了。我尝试了各种修复方法,但问题仍然存在,而且我收到了来自 MAMP 的新警告 - 我需要禁用我的 Apple Apache 服务器或将 Apache 更改为端口 80 以外的其他端口。
无论如何,当我通过 Google 寻求帮助时,我发现了这个 Mac 终端命令:sudo lsof -i ':80'
我输入了它,我怀疑我已经找到了问题的根本......
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 515 [My Name] 125u IPv4 0x6270000f68f4689d 0t0 TCP
10.0.0.138:50258->sea15s07-in-f4.1e100.net:http (ESTABLISHED)
Google 515 [My Name] 181u IPv4 0x6270000f69024a8d 0t0 TCP
10.0.0.138:50341->ec2-54-84-89-183.compute-1.amazonaws.com:http
(CLOSE_WAIT)
httpd 1267 root 4u IPv6 0x6270000f5b6af8ad 0t0 TCP *:http (LISTEN)
httpd 1387 [My Name] 4u IPv6 0x6270000f5b6af8ad 0t0 TCP *:http (LISTEN)
httpd 1388 [My Name] 4u IPv6 0x6270000f5b6af8ad 0t0 TCP *:http (LISTEN)
httpd 1389 [My Name] 4u IPv6 0x6270000f5b6af8ad 0t0 TCP *:http (LISTEN)
httpd 1390 [My Name] 4u IPv6 0x6270000f5b6af8ad 0t0 TCP *:http (LISTEN)
httpd 1391 [My Name] 4u IPv6 0x6270000f5b6af8ad 0t0 TCP *:http (LISTEN)
httpd 1392 [My Name] 4u IPv6 0x6270000f5b6af8ad 0t0 TCP *:http (LISTEN)
httpd 1402 [My Name] 4u IPv6 0x6270000f5b6af8ad 0t0 TCP *:http (LISTEN)
为什么 Google 和 Amazon 被列入名单?他们真的入侵了我的 Apache 服务器吗?谁能告诉我这些东西是什么意思?
我甚至不确定上面的代码是否引用了我 Mac 上默认安装的 MAMP 版本的 Apache。作为最后的手段,我可能会去当地的 Apple Store,让他们告诉我原始 Apache 文件的位置,并要求他们将其恢复为默认设置(如果已更改)。
答案1
关于你的问题“为什么谷歌和亚马逊被列入名单?”,这是因为lsof您发出的命令还显示通过 HTTP 到外部网站的出站连接。
10.0.0.138:50258->sea15s07-in-f4.1e100.net:http (ESTABLISHED)
10.0.0.138:50341->ec2-54-84-89-183.compute-1.amazonaws.com:http
从您发布的输出中的以上两行来看,您的本地 IP 地址是 10.0.0.138;10.0.0.0 到 10.255.255.255 范围内的任何地址都是私有 IPv4 地址,不通过互联网路由,因此网络地址转换 (NAT)将会让您的系统连接到 Google 和亚马逊网络服务(AWS)网站。任何时候,当你看到 1e100.net 在完全限定域名 (FQDN),这说明该系统是 Google 系统,因为 Google 拥有该域名;Google 选择 1e100 是因为它是一种表示方式古戈尔,即 1 后面跟着 100 个零。通过 AWS,亚马逊为许多公司和个人提供了在亚马逊服务器上托管网站的能力,当 IP 地址转换为其正典名称。因此,对于您提出的“他们是否有效地入侵了我的 Apache 服务器?”的问题,答案是“否”;这些行只是表明您浏览了由 Amazon AWS 和 Google 网站托管的网站。
关于您的 Mac 上托管的某个网站始终使用 HTTPS 的问题,您可以通过 HTTP 访问 Mac 上的其他网站吗?您现在看到的确切警告消息是什么?您以前是否能够通过 HTTP 访问现在默认使用 HTTPS 的特定网站?如果HTTP 严格传输安全 (HSTS)正在用于某个特定站点,如果您尝试通过 HTTP 访问该站点,则将改用 HTTPS。
关于原始 Apache 配置文件,我附上了我的 MacBook Pro 上的原始 Apache 配置文件您可以使用它来进行比较。您可以使用apachectl命令,apachectl -S
查看系统上 Apache 的一些配置信息。