Apache2 识别我的 IP 地址与我的 IP 地址不同

Posted

技术标签:

【中文标题】Apache2 识别我的 IP 地址与我的 IP 地址不同【英文标题】:Apache2 recognizes my ip address diffrently from my ip address 【发布时间】:2021-01-03 03:44:13 【问题描述】:

我只希望我的 IP 地址或特定 IP 地址访问特定页面。

现在,我在 .htaccess 文件中设置了我的 ip 地址xxx.xxx.xxx.xxx 以只允许访问我的 ip 地址,如下所示。 (这个IP地址是来自https://www.myip.com/的值)

<Files wp-login.php>
order deny,allow
allow from xxx.xxx.xxx.xx
deny from all
</Files>

保存 .htaccess 文件后,我运行以下命令。

sudo service apache2 restart

当我访问 MYPAGE/wp-login.php 时,我可以看到类似 "Forbidden You don't have permission to access this resource.". 的消息

所以,我检查了 /var/log/apache2/error.log 文件。 有一个错误日志 [access_compat:error] [pid 12018] [client 172.aa.a.aaa:aaaaa] AH01797: client denied by server configuration: /var/www/html/wp-login.php

这里172.aa.a.aaa:aaaaa的这个值和我的IP地址不一样。这个地址来自哪里?以及如何知道其他 IP 地址的值?

and.. 有没有办法允许使用 apache2 从https://www.myip.com/ 获得 IP 地址?

感谢您阅读我的问题,如果您能帮助我,我将不胜感激。

【问题讨论】:

【参考方案1】:

您从https://www.myip.com/ 看到的 IP 地址是您的从 Internet 上看到的

如果您的机器和托管 MYPAGE/wp-login.php 的服务器位于代理/防火墙后面(例如在本地网络中),那么您的本地 IP 地址将不同。

您可以使用ifconfig 命令(或ipconfig,如果您在Windows 机器上)找到您的本地IP 地址。

编辑:由于登录error.log 的IP 地址是不同的,因此您不能在此处使用IP 地址限制。因此,使用.htaccesshtpasswd 将更适合保护您的登录页面。你可以找到一个例子here。

【讨论】:

谢谢你的回答,但我还是有这个问题。我用ifconfig命令检查了我的IP,但它与error.log中的IP不同.. 这个ip在error.log中的IP地址在一段时间后访问时会灵活变化,尽管只有我在访问具有相同IP的服务器。 刚刚更新了我上面的答案。请试一试,让我知道。

以上是关于Apache2 识别我的 IP 地址与我的 IP 地址不同的主要内容,如果未能解决你的问题,请参考以下文章

停止Apache服务后,为什么我仍然可以在我的IP地址上获得Apache默认页面?

apache2 忽略默认主机并始终重定向到域,即使使用 IP

临时标头仅针对我的 IP 地址显示

Terraform 获取 api 网关的 ip 地址

ip地址与网络上的其他系统有冲突是怎么回事

Apache 2.4.x ip 黑名单