Estou tentando proteger por senha uma porta inteira no meu site-- link e link
Eu tentei editar o /etc/nginx/sites-enabled/domain.com.vhost adicionando o seguinte no bloco de servidores sem sucesso (o que eu obtive de este link , exceto que o link diz respeito à proteção de diretórios ao invés de portas):
location ^~ :8081 {
auth_basic "Restricted Area";
auth_basic_user_file conf/htpasswd;
}
Eu também tentei "location: 8081", mas isso também não funcionou.
Como posso proteger a porta 8081 com senha (ou qualquer outra porta que eu deseje)
Se isso faz alguma diferença, estou usando o Ubuntu 14.04.1 LTS com o Nginx 1.4.6.
Obrigado.
[EDITAR]
Ao implementar a solução de Nathan, ao acessar o link (SSL), é exibida a solicitação de um nome de usuário e senha, mas me dá uma página "500 Internal Server Error". Veja o que mostra no log de erros do Nginx:
[crit] 3390#0: *154 open() "/etc/nginx/conf/htpasswd" failed (13: Permission denied), client: 152.35.52.108, server: domain.com, request: "GET /phpmyadmin/ HTTP/1.1", host: "domain.com:8081"
Ao acessar o link (não-SSL), ele me envia "400 Bad Request A solicitação HTTP simples foi enviada para Porta HTTPS ". Nada registra isso no log de erros; Em vez disso, o seguinte aparece no log de acesso Nginx:
"GET /phpmyadmin/ HTTP/1.1" 40.1" 400 279 "-" "[user agent]"