Eu tenho um servidor Nginx e desabilitei os arquivos ocultos no nginx_vhost.conf
## Disable .htaccess and other hidden files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
Mas LetsEncrypt precisa de acesso ao .well-known
diretório.
Como permito o .well-known
diretório e nego os outros arquivos ocultos?
nginx
virtualhost
lets-encrypt
Janghou
fonte
fonte
.htaccess
arquivos. Possui arquivos de configuração, mas não são chamados.htaccess
nem funcionam da mesma maneira.Respostas:
As outras soluções não me ajudaram.
Minha solução é incluir um regex negativo para
.well-known
. Seu bloco de código deve ficar assim:Ele bloqueará todos os arquivos de pontos, exceto os que começam com
.well-known
PS: Eu também adicionaria
return 404;
ao bloco.fonte
location ~* /\.(?!well-known\/) {
como visto em github.com/h5bp/server-configs-nginx/blob/master/h5bp/location/… idêntico a issolocation ~ /\.(?!well-known).* {
?/\.(?!well-known\/)
não é tão expressivo quanto meu regex (porque bloqueio todos os arquivos de ponto, exceto os conhecidos por definição). Talvez o melhor seja uma combinação como alocation ~ /\.(?!well-known\/).*
que desbloqueia apenas o diretório conhecido e também um teórico.well-known-blabla
. Mas acho que não há perigo real em não bloquear um arquivo .well-conhecido-blabla teórico.O Nginx aplica locais com expressões regulares na ordem em que aparecem no arquivo de configuração.
Portanto, adicionar uma entrada como essa antes da sua localização atual ajudará você.
fonte
location ~ /\.well-known {
. De qualquer forma, essa deve ser a resposta aceita.Forneci um tutorial completo sobre como usar o Let's Encrypt with NGINX no meu site.
As partes principais são:
Você não precisa de ouvintes no seu bloco https, tudo é feito no https. Isso é apenas para provar que você controla o domínio, não está servindo a nada privado ou secreto.
Guia completo passo a passo vinculado acima.
fonte
Adicione isto (antes ou depois):
Você pode adicionar isso também na parte inferior, porque o
^~
modificador correspondente tem precedência sobre expressões regulares. Veja os documentos .fonte
Se você tiver muitos arquivos de configuração e eles já contiverem uma negação em .htaccess como
Em vez de ignorar todos os arquivos de ponto , você pode simplesmente adicionar um segundo ignorar para .git com
fonte