【发布时间】:2015-07-29 11:51:07
【问题描述】:
当我运行 Apache 并将其配置为侦听端口 80 和 443 时,它是否只侦听我网络上的本地流量?如何判断我的服务器是否对网络可见? (我想将其保密以用于本地开发目的)我认为为了让其他人能够访问我的服务器,我实际上必须在我的路由器上打开端口 80 和 443,但我不得不说我很困惑。任何帮助将不胜感激!
【问题讨论】:
标签: apache
当我运行 Apache 并将其配置为侦听端口 80 和 443 时,它是否只侦听我网络上的本地流量?如何判断我的服务器是否对网络可见? (我想将其保密以用于本地开发目的)我认为为了让其他人能够访问我的服务器,我实际上必须在我的路由器上打开端口 80 和 443,但我不得不说我很困惑。任何帮助将不胜感激!
【问题讨论】:
标签: apache
端口与它是否在网络上可见无关。这是服务器正在侦听的IP address,以及是否允许IP address,如果前面有防火墙,则接受入站连接。因此,如果您使用Localhost 或RFC 1918 IP 地址,则无需担心。它必须使用可公开访问的 IP 地址或主机名。
当 Apache 启动时,它会绑定到本地的某个端口和地址 机器并等待传入的请求。默认情况下,它监听所有 机器上的地址。但是,可能需要告诉它听 特定端口,或仅在选定的地址上,或组合 两个都。这通常与虚拟主机功能结合使用,该功能 确定 Apache 如何响应不同的 IP 地址、主机名 和端口。
https://httpd.apache.org/docs/2.2/bind.html
此外,如果您在路由器后面,则在您将路由器转发到 80 或 443 之前,没有任何东西可以从外部通过。
【讨论】:
您没有指定您正在使用的操作系统/发行版,因此很难猜测 apache.conf 或 httpd.conf 的位置,您需要找到它(包括 ssl.conf 文件)。
在顶部的某个地方,您会发现几行谈论“Listen: 允许您绑定 apache”。您可以将其限制为本地计算机的网络,包括本地主机,现在假设您的 ipaddress 是 192.168.10.1:
Listen 127.0.0.1:80
Listen 192.168.10.1:80
再往下一点你会发现一个部分在谈论“DocumentRoot”,然后它会谈论“Directory”,让它看起来像:
<Directory />
Order Allow, Deny
Deny From All
allow from 192.168.0.0
allow from 127.0.0.1
</Directory>
并取决于您的文档根目录:
<Directory /var/www>
Order Allow, Deny
Deny From All
allow from 192.168.0.0
allow from 127.0.0.1
</Directory>
这将只允许本地流量到达您的服务器。你需要确保你的ip地址在192.168.0.0的范围内。
请注意,您需要在名为“ssl.conf”的文件中执行相同操作。
【讨论】: