当我运行Apache并将其配置为在端口80和443上侦听时,它是否只是在侦听网络上的本地流量?如何判断我的服务器是否对网络可见? (我希望将其保密以用于本地开发目的)我认为对于其他人来说可以访问我的服务器,我必须在我的路由器上实际打开端口80和443,但我不得不说我很困惑。任何帮助将不胜感激!
答案 0 :(得分:0)
端口与它是否在网络上可见无关。这是服务器正在侦听的IP address
以及是否允许IP address
,如果前面有防火墙,则接受入站连接。因此,如果您使用Localhost
或RFC 1918 IP地址,则无需担心。它必须使用可公开访问的IP地址或主机名。
当Apache启动时,它会绑定到本地的某个端口和地址 机器并等待传入的请求。默认情况下,它会侦听所有内容 机器上的地址。但是,可能需要告诉他们听 特定端口,或仅在选定地址或组合上 都。这通常与虚拟主机功能结合使用 确定Apache如何响应不同的IP地址,主机名 和港口。
https://httpd.apache.org/docs/2.2/bind.html
此外,如果你在路由器后面,直到你在80或443上转发你的路由器,没有任何东西可以从外面通过。
答案 1 :(得分:0)
你没有指定你正在使用的操作系统/发行版,因此有点难以猜测apache.conf或httpd.conf的位置,你需要找到它(包括ssl.conf文件)。
在顶部的某个地方,你会发现几行谈论“听:允许你绑定apache”。您可以将此限制为本地计算机的网络,包括localhost,现在假设您的ipaddress是192.168.10.1:
Listen 127.0.0.1:80
Listen 192.168.10.1:80
稍微向下,你会发现一个部分谈论“DocumentRoot”,之后它将谈论“目录”,使它看起来像:
<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”的文件中执行相同操作。