欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

程序员文章站 2022-07-10 12:44:26
...

项目属于前后端分离项目,由于项目登录时需要输入图片类验证码,但是获取验收码的url路径一直报404错误。

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

项目nginx 跨越配置如下:

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

在浏览器中输入:http://xiaozhaowang.net就是无法获取验证码,如下图:

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

分析过程如下:

一、定位是否是vue前端Nginx配置的问题

1、查看 服务器8111端口是否打开 

  使用

Telnet tserv 8111 

其中,"tserv"是终端服务器的主机名。
发现 8111端口是打开的
2、检查 apis 路径是否被拦截生效

输入下图路径提示Full authentication is required to access this resource,该提示是后台 spring secrity权限注解拦截后给出的权限提示,可以获取提示证明apis配置有效。

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

 

二、定位是否是Springboot后台的问题

1、在获取验证码的代码处加入日志

如下图经过测试可以在控制台和log日志中打出验证码内容,但部署到生产环境进行一下测试,发现日志中没有记录,页面依旧提示404 not found ,说明Nginx没有转发到后台相应方法。排除为后台的问题。

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

 

三、模拟Nginx转发原理定位问题

    根据nginx转发原理,我们在浏览器中直接输入:http://xiaozhaowang.net:8111/captcha.jpg 是可以获取验证码内容的,如下图:

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

通过以上过程定位确为Nginx的问题

四、检查Nginx的配置,爬坑最终发现:图片、js/css文件都会nginx中优先匹配

注释掉配置中的如下内容:

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

service nginx restart 重启正常!有图为证:

 

记一次nginx跨域404的问题 ,切记css、js、图片文件会优先匹配

相关标签: spring nginx 跨域