У меня есть сервер Nginx, и отключенные скрытые файлы в nginx_vhost.conf
## Disable .htaccess and other hidden files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
Но LetsEncrypt нужен доступ к .well-known
каталогу.
Как мне разрешить .well-known
каталог и запретить другие скрытые файлы?
nginx
virtualhost
lets-encrypt
Janghou
источник
источник
.htaccess
файлов. У него есть файлы конфигурации, но они не вызываются.htaccess
и не работают одинаково.Ответы:
Другие решения не помогли мне.
Мое решение состоит в том, чтобы включить отрицательное регулярное выражение для
.well-known
. Ваш блок кода должен выглядеть следующим образом:Он будет блокировать все файлы точек, кроме тех, которые начинаются с
.well-known
PS: я бы тоже добавил
return 404;
в блок.источник
location ~* /\.(?!well-known\/) {
видно на github.com/h5bp/server-configs-nginx/blob/master/h5bp/location/… идентично этомуlocation ~ /\.(?!well-known).* {
?/\.(?!well-known\/)
не так выразительно, как мое регулярное выражение (потому что я блокирую все точечные файлы, кроме хорошо известных по определению). Возможно, лучшим будет комбинация, подобнаяlocation ~ /\.(?!well-known\/).*
которой, которая разблокирует только известный каталог, а также теоретический.well-known-blabla
. Но я думаю, что нет реальной опасности не блокировать теоретический файл .well-known-blabla.Nginx применяет местоположения с регулярными выражениями в порядке их появления в файле конфигурации.
Поэтому добавление такой записи перед вашим текущим местоположением поможет вам.
источник
location ~ /\.well-known {
. В любом случае, это должен быть принятый ответ.Я предоставил полное пошаговое руководство по использованию Let's Encrypt с NGINX на моем веб-сайте.
Ключевые части:
Вам вообще не нужны слушатели в вашем блоке https, все это делается на https. Это только для того, чтобы доказать, что вы контролируете домен, он не обслуживает ничего личного или секретного.
Полное пошаговое руководство, указанное выше.
источник
Добавьте это (до или после):
Вы также можете добавить это внизу, потому что
^~
модификатор соответствия имеет приоритет над регулярными выражениями. Смотрите документы .источник
Если у вас есть много конфигурационных файлов, и они уже содержат запрет на .htaccess, как
тогда вместо того, чтобы игнорировать все точечные файлы , вы можете просто добавить второе игнорирование для .git с
источник