是否有可能获得基本authentication的nginx用作HTTP代理?

我有nginx在简单的Ubuntu VPS上运行,就像一个简单的HTTP代理:

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

所有的工作正常,但任何人都可以连接到这个代理:(我是否有任何简单的方法来添加一些login名/密码?HTTP的基本/消化/将做什么。

你可以通过简单的httpauthentication来完成

示例位置部分

  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; } 

并添加一个密码文件到上面指定的path,你可以通过htpasswd实用程序创build它(我认为apache2-utils包有这个)

如果你已经编译了这个模块,你可以使用auth basic。

像:auth_basic“封闭的网站”; auth_basic_user_file htpasswd;

其中htpasswd由用户:密码组成