欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Nginx 代理配置

程序员文章站 2022-08-30 23:00:48
nginx 正向http代理配置 需要用户名和密码认证 生成密码文件: server配置: 在conf的目录下创建hosts文件夹并在nginx.conf最后插入 include hosts/*.conf; 在hosts中创建文件myproxy.conf 命令: 文件服务器配置: 进行简单配置 在安 ......

nginx 正向http代理配置 需要用户名和密码认证

生成密码文件:

linux需要安装:
 #yum -y install httpd-tools
生成密码文件:
#htpasswd -c /usr/local/nginx/conf/pwd/passwd 用户名 输入密码 重新输入密码

 

server配置:

在conf的目录下创建hosts文件夹并在nginx.conf最后插入 include hosts/*.conf;

在hosts中创建文件myproxy.conf

 

server {
        access_log /usr/local/nginx/logs/access.log;#日志目录
        listen 39001;#监听端口
        location / {
                resolver 8.8.8.8;#dns地址
                proxy_pass $scheme://$http_host$request_uri;
                auth_basic "please input password";#提示
                auth_basic_user_file /usr/local/nginx/conf/pwd/passwd;#用户密码加密文件
                proxy_buffers   256 4k;#缓存大小
                proxy_max_temp_file_size 0k;
        }
}

 

 

 

 

命令:

nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出nginx
nginx -t   #测试配置是否有语法错误

 

文件服务器配置:

进行简单配置
         在安装目录的conf文件夹下的nginx.conf中配置:
                  location ^~ /svn/ {    //表示含有svn/关键字就会进入以下规则
                     root /data/;
                     autoindex on;
                 }
         以上表示:http://[ip]/svn/ 实际访问路径为:/data/svn/;autoindex on表示打开目录浏览功能。当然nginx
      的规则配置还有很多,可以自行百度。
         


注意:location = / (精确匹配)与 location  /(模糊匹配)。后者表示请求地址只要含有/,就会给实际访问路径加上其规则里面配置的路径。比如:
         配置文件:
                   location  / {
                          root html;
                          index  index.html index.htm;
                       }
                          
                   location ^~ /svn/ { 
                          root /data/;
                          autoindex on;
                 }
         那么请求“http://[ip]/svn/”则会先被“location  /”匹配,实际访问路径变成:/usr/local/nginx/html,然      后继续匹配发现满足svn关键字,故又加上/data/svn/,因此实际访问路径是/usr/local/nginx/html/data/svn/。
         另: location = / {
            root   html;
            index  index.html index.htm;
        }中的“root html”,表示当前安装目录下的html,“root /html”否则表示服务器根目录下的html。