如何在 Apache 配置中检查请求的端口号

如何在 Apache 配置中检查请求的端口号

我正在使用 Apache 2.2。现在,我做了一些更改:如果我的端口上有任何请求,我想发回 http 状态代码 404。

现在我的 Apache 服务器上运行着 3 个端口:8808,8809,8810.如果请求来自第三个端口,我想发送回用户404 http status code

目前我有这个httpd.conf

RedirectMatch 404 ".*"
ErrorDocument 404 "Not Found"

现在,如果请求进入特定端口,我该如何为该端口执行此操作?

答案1

我认为这适用于虚拟主机:

<VirtualHost *:8808>
    RedirectMatch 404 ".*"
    ErrorDocument 404 "Not Found"
</VirtualHost>

显然,对其他端口重复此操作。

请注意,如果您的 apache 配置中已经有某个<VirtualHost *:*>或某些内容,则需要更改它 - 否则它也对该端口有效,并且您将拥有重叠的虚拟主机(这几乎肯定不会做)你想要什么)。

答案2

为所有端口创建虚拟主机:

<VirtualHost *:8808>
    some directives here
</VirtualHost>
<VirtualHost *:8809>
    some directives there
</VirtualHost>
<VirtualHost *:8810>
    RedirectMatch 404 ".*"
    ErrorDocument 404 "Not Found"
</VirtualHost>

看一看这里有关更多相关信息,它也可能有帮助。

相关内容