nginx反向代理问题

来源:9-1 购物车模块开发概要与接口设计讲解

慕数据4154996

2019-01-08

先说一下我的情况,我刚学完8-9小节。
我的FTP服务器是在CentOS6的虚拟机里搭建的,我是在Windows下运行我的代码的。
我的mmall.properties文件截图如下:
图片描述
然后是我的nginx中的image.imooc.com.conf文件,截图如下:
图片描述
我的C:\Windows\System32\drivers\etc\hosts文件截图如下:
图片描述
我对nginx运行的理解是这样的:它会将image.imooc.com这个域名转化为ftp://172.20.10.10这个域名,这是我虚拟机上的FTP服务器的ip地址,然后我去访问虚拟机中/ftpfile/img这个文件夹,这样就成功地将文件成功地上传到了我的虚拟机的FTP文件夹里。
可是,我上传文件时是成功的,如下图所示:
图片描述
但是我如果点击上图中的链接,我是无法访问到该图片的,浏览器显示如下图所示:
图片描述
这是为什么呢?
我做过的尝试:
(1)如果我直接访问172.20.10.10,是可以成功的,如下图所示:
图片描述
这说明我的FTP服务器是开启的,且能够正常访问的。
(2)如果我直接访问image.imooc.com,将跳出nginx的欢迎页面,如下图所示:
图片描述
说明nginx的运行原理并不是我之前想象地那样,nginx会将image.imooc.com这个域名简单地替换为ftp://172.20.10.10这个域名,但这张图至少证明了我的nginx是启动了的。
(3)如果我将mmall.properties配置文件中的ftp.server.http.prefix直接改成ftp://172.20.10.10/,那么我的程序是能够正常运行的,且我的虚拟机的FTP上能接收到上传的图片文件。
(4)我的nginx.conf文件里已经加了“include vhost/*.conf;”。
最后再简单总结一下我想做的操作和我的问题是什么:
我希望image.imooc.com这个域名能够访问虚拟机上的FTP服务器,即虚拟机上的/ftpfile/img文件夹(或者说成是/ftpfile文件夹也行),而不是用ftp://172.20.10.10/这个前缀。
我觉得这可能是我的nginx的配置问题,想请问一下老师我该怎么配置nginx的配置文件呢?
不胜感激!

写回答

2回答

Geely

2019-01-14

//img.mukewang.com/szimg/5c3c40f60001a2f208190284.jpg



可以看看这个步骤的服务端日志,是否有异常呢?

核心在于,文件是否上传上去了,看起来你的域名是OK的。

所以接下来检查文件是否在ftp服务器指定的目录下。


或者可以先把vsftpd的匿名访问等开通,把这块先解决,继续学下边的。

0
0

about_blank

2019-01-08

同学 你的问题描述简直是问答区典范 哈哈

不知道我理解的对不对

你是一台windows的电脑,搭建了虚拟机环境,ftp 和tomcat 都部署在虚拟机上

你上传文件成功应该是 http->tomcat->ftp  说明这条路径是通的

你通过172.20.10.10 这个ip 浏览器访问 ftp 是可以的 说明 windows -> ftp 是没问题的

直接访问nginx 是可以访问的 说明 windos -nginx 是可以的

现在 windows->nginx->ftp 出了问题  我怀疑是 nginx->ftp 有问题

继续就是配置文件的  

nginx 应该也是配置在虚拟机中的, 我看图片中有一段指向C盘的路径不知道是什么文件

你可以再检查下 配置文件

以上都是我的猜测哈

顺便 已经帮你呼叫老师啦 

0
2
慕数据4154996
nginx的配置也是在本机windows系统的
2019-01-08
共2条回复

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程