nginx配置代理系统目录供外部访问
2019-06-12 本文已影响0人
一路清寒
场景:web1服务器。web2服务器是代理服务器,里面只有nginx。现在想web1 某个目录,可以直接访问地址访问,例如:
我需要/home/image/xx/ 目录 可以通过192.168.100.22:30082/home/image/xx/a.jpg 访问到静态资源。
步骤1:
要需要开放的绝对路径 /home/image/ 配置到 web1 tomcat 的conf/server.xml 里加入
<Context path="/" docBase="/home/image" reloadable="true" crossContext="true"></Context>
path 代表 访问的时候是否有前缀,docBase 代表你的绝对路径目录。
![](https://img.haomeiwen.com/i4964845/580c6055490d0c1d.png)
配置好,重启tomcat
然后去web2代理服务器配置映射地址。
location ^~ / { #如果你tomcat里配置了path 例如 /static/ 那么这个地方写成 location ^~ /static/
proxy_pass http://192.168.100.24:8077; // 你的web1地址 tomcat对应的端口
}
然后直接访问 192.168.100.22:30082/a.jpg
如果配置了path 则这样访问 192.168.100.22:30082/static/a.jpg
就代表 /home/image/a.jpg这个路径
第二种:
需要在web1中也安装 nginx代理 把需要的地址目录代理出去,然后,web2直接映射你代理出去的地址就可以了。
第一种 亲测可以。