共计 1014 个字符,预计需要花费 3 分钟才能阅读完成。
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! #保存,退出