返回列表 发帖

使用nginx搭建带密码认证的http正向代理

nginx用的最多的就是放在大型web软件的前端做反向代理,但是它用来做http正向代理也是不错的,不过http代理和VPN不一样,后者在传输过程中是加密的,而http代理没有加密,所以不能访问被“和谐掉”的网站。

在实际应用中,使用nginx做带密码认证的http正向代理并不合适,因为没有设置密码认证间隔的模块,所以每访问一个页面都要输入一次密码,对于没有安装可以保存密码的代理插件的浏览器用户来说简直就是噩耗,所以我又写了《用Squid搭建带密码认证的http代理服务器》一文。

1.安装nginx:
  1. # apt-get install nginx
复制代码


2.使用Apache的htpasswd建立加密文件:
  1. # cd /etc/nginx/conf
  2. # htpasswd -c -d password proxy
复制代码


3.编辑站点文件,在其中加入以下内容:
  1. # nano /etc/nginx/site-available/default
复制代码
  1. server {
  2.     listen 8080;
  3.     location / {
  4.         auth_basic            "Restricted";
  5.         auth_basic_user_file  password;
  6.         resolver    8.8.8.8;
  7.         proxy_pass http://$http_host$request_uri;
  8.         }
  9.     }
复制代码

4.重启nginx
  1. # /etc/init.d/nginx restart
复制代码


搞定,在浏览器里输入你服务器的IP试试吧,端口8080。

返回列表