É possível obter autenticação básica para o nginx usado como proxy HTTP?

1

Eu tenho o nginx rodando em um simples VPS do ubuntu que age como um simples proxy HTTP:

server {
  listen 8080;
  location / {
    resolver 8.8.8.8;
    proxy_pass http://$http_host$uri$is_args$args;
  }
}

Tudo funciona bem, mas qualquer um pode se conectar a este proxy :(. É alguma maneira fácil de adicionar algum login / senha para ele? HTTP básico / digest / o que vai fazer.

    
por grigoryvp 29.04.2013 / 15:07

2 respostas

2

Você pode fazer isso via http auth simples

Exemplo de seção de localização

        location /protected/ {
        proxy_pass http://192.168.1.1:1111;
        proxy_set_header Host $http_host;
        auth_basic            "Restricted-plz-auth-urself";
        auth_basic_user_file  /etc/nginx/passwds/htpasswd_protected;
    }

E adicione um arquivo de senha ao caminho especificado acima, você pode criá-lo via utilitário htpasswd (acho que o pacote apache2-utils tem isso)

    
por 29.04.2013 / 16:45
1

Você pode usar o auth basic, se você tiver este módulo compilado.

como:     auth_basic "site fechado";     auth_basic_user_file htpasswd;

onde htpasswd consiste em user: password

    
por 29.04.2013 / 15:51

Tags