Nginx对指定目录做代理及显示文件夹目录

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!  #保存,退出

猜你喜欢

转载自www.linuxidc.com/Linux/2018-02/151071.htm