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)