Apache 是否需要防火墙访问代码服务器请求?

Apache 是否需要防火墙访问代码服务器请求?

只是想快速澄清一些事情。

对于本地服务器的开发堆栈(如 LAMP 或 XAMPP);如果本地服务器上的某些 php 代码回显了存储在偏僻的MySQL 数据库(即通过 WAN)?我认为是的。

答案1

如果我理解正确,您服务器上的脚本充当远程 MySQL 数据库的 SQL 客户端。这需要您的服务器能够访问该服务器。因此,如果它们之间有防火墙,则需要允许该访问。

编辑澄清 但是,需要授予的访问权限仅用于客户端连接到 MySQL 服务器,并在会话建立后接收响应。没有理由允许任何其他传入流量用于此目的。

答案2

我错了。Apache 不需要防火墙例外才能工作。我通过删除 Apache HTTP Server 的软件防火墙例外验证了这一点。

在此处输入图片描述

在此处输入图片描述

并且我的代码能够成功回显远程 MySQL 数据库的结果。

虽然相应的端口仍然必须打开,但 Apache Webserver 本身并不需要防火墙访问即可正常工作。

答案3

Apache、MySQL、防火墙(无论您使用什么软件)、php 都独立工作。它们都会独立完成它们应该做的事情。Apache 不会发出 Web 请求(http、mysql、https 等)。

因此,上面的问题也许表述得更好,但并不完全清楚。然而,含义也没有被掩盖。

还有一点。“Windows 防火墙”就像是说 Tonka 制造了一辆大卡车。它并不是真正的防火墙(至少不是一个像样的防火墙)。

如果我的回答有任何价值,那就是这些软件都是独立工作的。因此,当出现问题时,应该对它们进行独立测试。A
) 我可以访问一些外部数据库服务器吗(没有 php,没有 apache,没有...)如果是,我可以使用 php 访问一些外部数据库吗(没有 apache,...),我是否可以使用 php 和 apache 访问一些数据库。

我假设您正在使用 php - 但如果不是 - 其他客户端也是如此。

答案4

如果您的本地 PHP 代码尝试访问远程数据库(最有可能在端口 3306 上,而不是 80),则您显然需要打开防火墙以允许该访问。

相关内容