Eu descobri que cometi o erro de não colocar um arquivo index.html no diretório, uma vez que tudo estava funcionando.
Estou criando um site em um servidor Ubuntu usando nginx. Eu configurei para que, quando você for, peça um nome de usuário e senha. Eu usei este comando:
sudo htpasswd -c /etc/nginx/.htpasswd username
Em seguida, executei este comando para fazer alterações neste arquivo:
sudo gedit /etc/nginx/sites-enabled/default
Os arquivos são assim:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name (put IP address here); # Change this to your FQDN.
location /munki_repo/ {
alias /usr/local/munki_repo/;
autoindex off;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
Então, depois de fazer isso e, claro, configurar os arquivos / diretórios. Quando vou para ipaddress/munki_repo
no navegador da Web e insiro o nome de usuário e a senha corretos, isso me causa o seguinte erro:
403 Forbidden
nginx/1.4.6 (Ubuntu)
Alguma idéia do que estou fazendo errado? esta é a primeira vez que uso o nginx.
Eu descobri que cometi o erro de não colocar um arquivo index.html no diretório, uma vez que tudo estava funcionando.
O problema principal é que sem um arquivo index.html
para servir (ou uma diretiva try_files
e index
correspondente) que o NGINX tentará e fará uma listagem de diretórios, o que é proibido em sua configuração ( autoindex off;
) .
Para anular isso, você deve fazer pelo menos uma das duas coisas :
Use uma diretiva try_files $uri /index.html
em seu bloco de localização especializado. Isso garante que não tente uma listagem de diretórios, mas se houver uma falha em localizar o URI correto, o padrão será a página de índice do site raiz.
Verifique se você tem um arquivo index.htm
OU index.html
OU index.php
em cada local (isso não se aplica a proxy_pass
ou fastcgi_pass
solicitações que passam solicitações para um servidor backend para manipulação) . Cada diretório deve ter um arquivo de índice que tenha um nome listado na diretiva index
em sua configuração.
(Você descobriu o 2º lugar, no entanto, essa é uma resposta mais abrangente)