zoukankan      html  css  js  c++  java
  • 用http 的形式访问ftp服务器上的图片文件

    1. 工具

      nginx 1.18.0和 ftpServe

      安装使用配置指路:https://www.cnblogs.com/YangMian/p/14913562.html

    2. 图片上传到ftp成功后,在浏览器输入ftp://127.0.0.1 没有任何反应,反而弹出什么打开2345加速浏览器。

      原本想着这问题时捆绑软件的问题,但是当我配置 ftp://127.0.0.1/文件路径   或者 ftp://userName:password@127.0.0.1/文件路径  时  到html或者jsp的超链接中时发现,浏览器提示源文件提示被阻止!!!

      但是在我的电脑里或者cmd里都能正常访问。突然发现源项目配置的访问路径不是ftp开头的,而是http开头的url

    3. 解决方案

      浏览器不能解析ftp,用http协议能访问到吗???

      查找方案中发现,nginx代理可以解决这个问题,历经两天终于解决(下面是nginx.conf的相关两个配置,都用到了nginx代理)

    #这里是我自己配置ftp下载服务
        server {  
            listen       8818;
            server_name resouce;
            root  D:ftpftpLibrary;  #访问文件根目录
            autoindex on;  #是否浏览文件下的列表
            location / {  #是否允许跨域
                add_header Access-Control-Allow-Origin *;
            }
            add_header Cache-Control "no-cache,must-revalidate";# 是否缓存
        }
        #代理ftp访问图片配置服务
        server {
            listen       8819;
            server_name localhost;
            location ~ .(gif|jpg|jpeg|png|bmq|swf)$ {
                root D:/ftp/ftpLibrary/;
            }
        }

    root 是定位ftp文件根路径,项目url后再跟具体的路径

     再次启动,发现图片出来了,url也显示是http连接(为什么能用http 来访问ftp上的图片:因为nginx代理是配置了location 那一句,当url以gif、jpg等结尾时,port满足8819  ip满足localhost(或者127.0.0.1)时就会流转到ftp文件的根目录)

    4. 注意事项

      ftp服务器配置两个用户,一个匿名用户(因为代理时怎么加上用户名和密码是个问题,权限配置时设置只读)和一个插入用户(常规的配置,权限勾选满)

  • 相关阅读:
    20188477 编程作业
    原型设计
    案例分析
    编程作业
    阅读任务
    准备工作
    原型设计作业
    案例分析作业
    编程作业
    阅读任务
  • 原文地址:https://www.cnblogs.com/cybg/p/15353652.html
Copyright © 2011-2022 走看看