Я добавил это в .htaccess
файл, расположенный в корне проекта:
<Files *.php>
Require host lamtakam.test lamtakam.com
Require ip ::1 95.216.xx.xx
</Files>
Я использовал xx.xx
, чтобы сохранить мой настоящий ip скрытым в публичном сообществе, на самом деле вместо x
s есть числа.
Теперь мне нужно ежедневно вызывать файл (используя задание cron crontab
) с одного и того же сервера, что-то вроде этого:
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
, когда я могу сделать его с того же сервера? (И не из ниоткуда)
Вы можете обмануть сервер, добавив следующую запись в ваш файл /etc/hosts
, этот сервер как локальный DNS, поэтому настройка DNS Cloudflare будет игнорироваться:
95.216.xx.xx lamtakam.com
Вы не можете использовать https://
для localhost/
, так как сертификаты SSL/HTTPS выдаются для конкретного доменного имени, т.е. lamtakam.com и т. д.
Вы можете привязать lamtakam.com
и, возможно, lamtakam.test
к петлевому интерфейсу (127.0.0.1
для IPv4 и ::1
для IPv6), изменив соответствующую строку /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. Этот второй подход (с использованием интерфейса loopback) является более гибким, потому что даже если вы измените общедоступный IP-адрес сервера, вам не нужно будет менять настройки .htaccess
.