在模拟post请求上传FDFS时候、一直404报错,查看路径前后端前前后后都没有什么错误、部分post 请求如下:

Debug之后请求的path 仍是找不到,网关Zuul 已经设置忽略了上传微服务的路径拦截,并重启;

zuul:ignored-services:- upload-service # 忽略upload-service服务

后来想到是不是重启Ngnix 没有生效,毕竟更改了配置,清空日志、再次重启Ngnix之后,仍旧是找不到path,在单元测试确定 Linux 环境的FDFS/Nginx 没有问题的前提下、
试着访问配置的网关的Nginx 代理、这时候问题出来了,是的,问题就在这里;

为什么前面Nginx 配置错误却对程序网关Zuul微服务没有影响呢?
请看下面分析:

因为,在配置Ngnix 代理的时候,配置主域名以及网关代理时候,都是按照正确的规则来配置的,所以对各个模块,包括跨域问题都没有什么影响;问题出在在解决上传时候前端定好上传路径 http://api.doudou.com/api/upload/image

  • 前半段域名 http://api.doudou.com
  • 剩下 /api/upload/image 要解决,controller 中的路径是 /upload/image 如下示例,这样的话,就单独剩下api 的问题在通过Nginx 来解决就ok 了、
@RestController
@RequestMapping("upload")
public class UploadController {@Autowiredprivate UploadService uploadService;@PostMapping("/image")public ResponseEntity<String> uploadImage(@RequestParam("file") MultipartFile file) {String url=this.uploadService.uploadImage(file);if (StringUtils.isNotBlank(url)) {return ResponseEntity.ok(url);}//400return new ResponseEntity<>(HttpStatus.BAD_REQUEST);}
}

这时候,问题出现了,瞎配,直接把该丢到监听网关server的配置丢到了主域名里面去,在单元测试时候竟然没有测出来、
单元测试生成文件路径path使用 Linux 的 http://IP/path 直接访问静态资源,测不出,没经过Ngnix ;

正确的配置如下:
#user  nobody;
worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;gzip  on;
#每个server就是一个反向代理配置,可以有多个server
#=================================================================== server {
#监听的端口listen       80;
#监听的域名server_name  manage.doudou.com;
#头信息proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#请求映射规则,/ 表示映射一切路径location / {
#代理转发,所有的请求  manage.doudou.com:80 的请求都会转发到 http://127.0.0.1:9001 这个地址、proxy_pass http://127.0.0.1:9001;
#连接时间超时proxy_connect_timeout 600;
#读取时间超时proxy_read_timeout 600;}}
#===================================================================    server {listen       80;server_name  api.doudou.com;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 上传路径的映射location /api/upload {    proxy_pass http://127.0.0.1:8082;proxy_connect_timeout 600;proxy_read_timeout 600;#重写规则rewrite "^/api/(.*)$" /$1 break; }location / {proxy_pass http://127.0.0.1:10010;proxy_connect_timeout 600;proxy_read_timeout 600;}}
}

ngnix配置之404相关推荐

  1. tomcat 配置异常/404页面

    前言 tomcat 9.0.45 配置异常/404页面 在web.xml文件中添加类似配置: <error-page><error-code>404</error-cod ...

  2. 通过优化Ngnix配置,减少网络压力

    通过修改Ngnix配置,减少网络压力 前言 您可以通过优化网站来提供帮助 为HTML,CSS和JavaScript文件启用Gzip压缩 设置缓存头 启用HTTP / 2协议支持 优化记录 方法1:禁用 ...

  3. Nginx SSL+tomcat集群配置SSL,ngnix配置SSL后js/css访问出现404

    最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议 但是,明明是https url请求,发现 log里 ...

  4. ngnix配置启动vue项目

    1.nginx介绍 nginx是一个高性能的HTTP和反向代理服务器.因此常用来做静态资源服务器和后端的反向代理服务器. 2.下载nginx http://nginx.org/en/download. ...

  5. centos7 php 404,CentOS7 Apache环境配置自定义404错误页面怎么解决

    我的万云数据ECS用的 CentOS 7系统,我想在网站实现 自定义的 404页面,之前已经做了 伪静态,现在 修改了 根目录的 .htaccess, 也加了 404.html 在根目录,但是随机访问 ...

  6. Vue路由history模式踩坑记录:nginx配置解决404问题

    问题背景: vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载.但是如果我们不想hash这种以#号结尾的路径时候的话,我们可以使 ...

  7. nginx 配置报404 问题排查

    大家好,我是小马,今天遇到一个问题,问题是这样的,我们开发了一个对接项目,我们会给对接方一个通知的url,以通知我们订单的变更,但是我们给的通知url是线上的,测试环境的配置并没有给对方,并且对方没有 ...

  8. ngnix配置cgi和fastcgi

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 ngnix官网 spaw ...

  9. ngnix配置及实例

    nginx配置及实例 1. nginx常用命令 2. nginx配置文件 3. localtion说明 4. nginx配置-反向代理实例1 5. nginx配置-反向代理实例2 5. nginx配置 ...

最新文章

  1. nginx源码分析--内存对齐处理
  2. (九)栈上分配与逃逸分析
  3. 使用nexus3配置golang私有仓库(go私服)
  4. 拥抱.NET Core系列:依赖注入(1)
  5. [JavaWeb-JDBC]JDBC_快速入门_idea jdbc连接Mysql数据库
  6. 信息学奥赛一本通(1067:整数的个数)
  7. 2021年中国一次性血压传感器市场趋势报告、技术动态创新及2027年市场预测
  8. 程序员如何从0到1搭建自己的技术博客
  9. excel如何晒出重复数据_3秒找出Excel中的重复数据,年底数据统计用得上,赶紧码住...
  10. jquery.form.js的重置表单增加hidden重置代码
  11. numpy python2_python2如何安装numpy
  12. 数学建模之matlab软件学习04——专题四MATLAB绘图
  13. Sugar BI 增强分析能力全场景解析与分享
  14. android 除了webview 浏览器控件,android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器...
  15. 解决python的selenium打开edge浏览器,但是无法打开网页driver.get的方法
  16. 后台架构设计—数据存储层
  17. 【菜鸡读论文】Learning-based Video Motion Magnification
  18. 后真相时代(post-truth)出现的原因及影响
  19. H3C防止同网段arp欺骗攻击配置
  20. MAC 自定义通知提醒 (定时提醒喝水)

热门文章

  1. 谷歌为世界造AI,世界却用AI做AV
  2. 有用的vscode快捷键大全+自定义快捷键
  3. 2012 android开发工具,2012最新完整版Android开发入门教程
  4. drwtsn32简介
  5. matlab拟合韦布尔分布,Matlab 三参数Weibull分布拟合求解
  6. Linux(Centos7)服务器中配置Mysql主从数据库,以及数据库的安装,防火墙操作
  7. python学习(五)爬取今日头条图库
  8. 人工智能还是人工智障
  9. 怎么测试唱歌水平的软件,测试一下你的唱功到第几层了?到第五层你已经算是高手了...
  10. linux rm替代命令_5种基本Linux命令行工具的现代替代品