我已将其添加到位于 .htaccess
项目根目录中的文件中:
<Files *.php>
Require host lamtakam.test lamtakam.com
Require ip ::1 95.216.xx.xx
</Files>
我曾经xx.xx
在公共社区中隐藏过我的真实 IP,实际上,是数字而不是x
s。
现在我需要每天crontab
从同一台服务器调用一个文件(使用 cron 作业),如下所示:
0 22 * * * wget /path/to/file.php
但是我收到此错误:
--2020-09-13 13:33:55-- https://lamtakam.com/path/to/file.php
Resolving lamtakam.com (lamtakam.com)... 104.31.74.192, 172.67.174.239, 104.31.75.192, ...
Connecting to lamtakam.com (lamtakam.com)|104.31.74.192|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2020-09-13 13:33:55 ERROR 403: Forbidden.
笔记:我使用 Cloudflare这些 IP 属于它:104.31.74.192, 172.67.174.239, 104.31.75.192
知道file.php
当我可以从同一台服务器访问时,如何才能使其可访问吗?(而不是从其他任何地方)
答案1
您可以通过在文件中添加以下记录来欺骗服务器/etc/hosts
,该服务器作为本地 DNS,因此 Cloudflare 的 DNS 设置将被忽略:
95.216.xx.xx lamtakam.com
您不能使用https://
,localhost/
因为 SSL/HTTPS 证书是为具体域名颁发的,即lamtakam.com, ETC。
您可以通过以下方式修改相关行来lamtakam.com
绑定lamtakam.test
到环回接口(127.0.0.1
用于 IPv4 和IPv6):::1
/etc/hosts
127.0.0.1 localhost lamtakam.com www.lamtakam.com lamtakam.test www.lamtakam.test
在这种情况下,您应该.htaccess
按照以下方式编辑文件:
<Files *.php>
Require host lamtakam.test lamtakam.com
Require ip 127.0.0.1
</Files>
- 注意
::1
是 IPv6 环回接口,但我们没有在文件中创建适当的条目/etc/hosts
,因此我们不需要该 IP 的不可能要求规则。
第二种方法(通过使用环回接口)更灵活,因为即使您更改服务器的公共 IP,也不需要更改您的.htaccess
设置。