nginx配置实现浏览器可访问linux本地文件

1.场景还原

项目部署在10.60.7.60(linux系统)的tomcat上,通过10.60.7.7(linux系统)的nginx代理进行访问

nginx.conf配置如下:

 server {
        listen       80;
        server_name  10.60.7.7;

        location / {
            root   html;
            index  index.html index.htm;
        }

        location /maintain {
                    proxy_pass   http://10.60.7.60:8080/prj;
                        proxy_set_header Host      $host;
                        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                    proxy_set_header X-Real-IP $remote_addr;
                    client_max_body_size  200M;
                }           
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

当浏览器中输入10.60.7.7/prj时,实际访问的是http://10.60.7.60:8080/prj

此时,prj项目中新增了一个功能,要能实现在界面中查看图片(通过HTML的<img>标签配置src属性),图片存放在10.60.7.60服务器的/home/yivi/workspace文件夹下

2.实现思路

此时要实现在界面中查看图片,实现思路步骤如下:

1.图片存储在linux中/home/yivi/workspace目录

2.编辑tomcat中的server.xml文件

将图片存放的绝对路径进行映射

说明:该步骤必须配置,即使图片放在linux根目录的pictures下,docBase和path相等(即绝对路径和相对路径相等),也需要配置,否则找不到

3.修改10.60.7.7上的nginx配置文件,添加如下内容

 location /pictures {
                    proxy_pass   http://10.60.7.60:8080/pictures ;
                        proxy_set_header Host      $host;
                        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                    proxy_set_header X-Real-IP $remote_addr;
                    client_max_body_size  200M;
                }

4.保存,启动tomcat,拼接图片地址进行访问

img标签的src属性为/pictures/pic1.jpeg

浏览器中的访问地址为10.60.7.7/pictures/pic1.jpeg可正常打开图片