当前位置 主页 > 服务器问题 > nginx问题汇总 >

    Nginx如何设置对指定目录做代理及显示文件夹目录?

    栏目:nginx问题汇总 时间:2018-12-10 15:35

      Nginx对指定目录做代理
      环境介绍
      web1,作为前端端服务器,访问地址是http://192.168.1.1,要将http://192.168.1.1/bbs的请求交给web2。在web1的网站根目录下并没有bbs目录
      web2,作为后端web服务器,访问地址是http://192.168.1.2
      web1配置location 方式一
      location /bbs/ {
      proxy_pass http://192.168.1.2/;            #有“/”
      }
      效果:通过 http://192.168.1.1/bbs  可以访问到web2网站根目录下的内容(目录对应目录?)
      web1配置location 方式二
      如果在web1中加入location中多少加 “/”
      location /bbs/ {
      proxy_pass http://192.168.1.2;            #无“/”
      }
      效果:要通过web1反问web2网站根目录的内容则需要输入:http://192.168.1.1/bbs/bbs(为什么会这样?)
      如何让Nginx显示文件夹目录
      1. 如何让nginx显示文件夹目录
      vi /etc/nginx/conf.d/default.conf
      添加如下内容:
      location / {
      root /data/www/file                    //指定实际目录绝对路径;
      autoindex on;                            //开启目录浏览功能;
      autoindex_exact_size off;            //关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
      autoindex_localtime on;              //开启以服务器本地时区显示文件修改日期!
      }
      不过有个缺点:
      html文件的抬头写的是Index of /dns/log/
      还有一个问题是这里开启的是全局的目录浏览功能,那么如何实现具体目录浏览功能呢?
      2. 只打开网站部分目录浏览功能
      只打开
      http://www.******.com/soft 目录浏览
      vi  /usr/local/nginx/conf/nginx.conf  #编辑配置文件,在server {下面添加以下内容:
      location  /soft {
      autoindex on;
      autoindex_exact_size off;
      autoindex_localtime on;
      }
      :wq!  #保存,退出