ngnix配置之404
在模拟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相关推荐
- tomcat 配置异常/404页面
前言 tomcat 9.0.45 配置异常/404页面 在web.xml文件中添加类似配置: <error-page><error-code>404</error-cod ...
- 通过优化Ngnix配置,减少网络压力
通过修改Ngnix配置,减少网络压力 前言 您可以通过优化网站来提供帮助 为HTML,CSS和JavaScript文件启用Gzip压缩 设置缓存头 启用HTTP / 2协议支持 优化记录 方法1:禁用 ...
- Nginx SSL+tomcat集群配置SSL,ngnix配置SSL后js/css访问出现404
最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议 但是,明明是https url请求,发现 log里 ...
- ngnix配置启动vue项目
1.nginx介绍 nginx是一个高性能的HTTP和反向代理服务器.因此常用来做静态资源服务器和后端的反向代理服务器. 2.下载nginx http://nginx.org/en/download. ...
- centos7 php 404,CentOS7 Apache环境配置自定义404错误页面怎么解决
我的万云数据ECS用的 CentOS 7系统,我想在网站实现 自定义的 404页面,之前已经做了 伪静态,现在 修改了 根目录的 .htaccess, 也加了 404.html 在根目录,但是随机访问 ...
- Vue路由history模式踩坑记录:nginx配置解决404问题
问题背景: vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载.但是如果我们不想hash这种以#号结尾的路径时候的话,我们可以使 ...
- nginx 配置报404 问题排查
大家好,我是小马,今天遇到一个问题,问题是这样的,我们开发了一个对接项目,我们会给对接方一个通知的url,以通知我们订单的变更,但是我们给的通知url是线上的,测试环境的配置并没有给对方,并且对方没有 ...
- ngnix配置cgi和fastcgi
作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 ngnix官网 spaw ...
- ngnix配置及实例
nginx配置及实例 1. nginx常用命令 2. nginx配置文件 3. localtion说明 4. nginx配置-反向代理实例1 5. nginx配置-反向代理实例2 5. nginx配置 ...
最新文章
- nginx源码分析--内存对齐处理
- (九)栈上分配与逃逸分析
- 使用nexus3配置golang私有仓库(go私服)
- 拥抱.NET Core系列:依赖注入(1)
- [JavaWeb-JDBC]JDBC_快速入门_idea jdbc连接Mysql数据库
- 信息学奥赛一本通(1067:整数的个数)
- 2021年中国一次性血压传感器市场趋势报告、技术动态创新及2027年市场预测
- 程序员如何从0到1搭建自己的技术博客
- excel如何晒出重复数据_3秒找出Excel中的重复数据,年底数据统计用得上,赶紧码住...
- jquery.form.js的重置表单增加hidden重置代码
- numpy python2_python2如何安装numpy
- 数学建模之matlab软件学习04——专题四MATLAB绘图
- Sugar BI 增强分析能力全场景解析与分享
- android 除了webview 浏览器控件,android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器...
- 解决python的selenium打开edge浏览器,但是无法打开网页driver.get的方法
- 后台架构设计—数据存储层
- 【菜鸡读论文】Learning-based Video Motion Magnification
- 后真相时代(post-truth)出现的原因及影响
- H3C防止同网段arp欺骗攻击配置
- MAC 自定义通知提醒 (定时提醒喝水)
热门文章
- 谷歌为世界造AI,世界却用AI做AV
- 有用的vscode快捷键大全+自定义快捷键
- 2012 android开发工具,2012最新完整版Android开发入门教程
- drwtsn32简介
- matlab拟合韦布尔分布,Matlab 三参数Weibull分布拟合求解
- Linux(Centos7)服务器中配置Mysql主从数据库,以及数据库的安装,防火墙操作
- python学习(五)爬取今日头条图库
- 人工智能还是人工智障
- 怎么测试唱歌水平的软件,测试一下你的唱功到第几层了?到第五层你已经算是高手了...
- linux rm替代命令_5种基本Linux命令行工具的现代替代品