真心求助.nginx错误

真心求助.nginx错误,第1张

Nginx服务器错误一般有以下几点原因:

1、请求的header过大。nginx默认的header长度上限是4k,如果超过了这个值,nginx会直接返回400错误.

解决方法:配置nginx.conf相关设置。可以通过以下2个参数来调整header上限:

client_header_buffer_size 16k;large_client_header_buffers 4 16k。

2、上传文件过程中出现错误。这时浏览器显示“413 Request Entity Too Large”。这是因为没有设置client_max_body_size,这个参数默认只是1M,也就是说发布的文章内容大小不能超过1M。

解决方法:增加如下两行到nginx.conf的http{}段, 增大nginx上传文件大小限制:设置允许发布内容为8M:client_max_body_size 8M;client_body_buffer_size 128k。

另外如果运行的是php,那么还要检查php.ini,这个大小client_max_body_size要和php.ini中的如下值的最大值一致或者稍大,这样就不会因为提交数据大小不一致出现的错误:post_max_size = 8M;upload_max_filesize = 6M。

修改完配置后,别忘记重新加载。

3、客户端在为等到服务器相应返回前就关闭了客户端描述符。一般出现在客户端设置超时后,服务器主动关闭。

解决方法:根据实际Nginx后端服务器的处理时间修改客户端超时时间。

4、脚本错误(php语法错误、lua语法错误)。

解决方法:查看nginx_err_log php_err_log。

5、访问量过大,系统资源限制,不能打开过多文件。 磁盘空间不足。(access log开启可能导致磁盘满溢,服务器主动关闭)。

解决方法:修改/etc/sysctl.conf文件,并使用下面的命令确认: #sysctl -p。要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。

6、后端服务无法处理,业务中断。

解决方法:从后端日志获取错误原因,解决后端服务器问题。

7、后端服务器在超时时间内,未响应Nginx代理请求。

解决方法:根据后端服务器实际处理情况,调正后端请求超时时间。

8、网站页面缓存过大。

解决方法:配置nginx.conf相关设置:fastcgi_buffers 8 128k;send_timeout 60。

今天在开发中有这样一个请求:前端需要在http请求中携带参数,后端获取参数进行解析并进行后续 *** 作。

前后端分离

前端:Nuxt + axios

后端:Springboot + dubbo

在线下环境进行测试的时候一切都是可以的,但是部署到线上环境却发现无法获取请求头中的参数信息

① 从代码版本来看,线上和线下都是一致

② 运行环境一致

③ 除新功能外,项目其他部分运行正常

以一个数据查询的功能为切入点,进行接口调试然后发现:

能正常获取请求头中的参数!

① 线下是本地运行,连接测试库

② 线上是云服务器运行,连接正式库

③ 线上有使用到Nginx反向代理

首先线上接口是OK,调试也正正常通。那么很大可能是前后端联调出的问题。于是我又运行本地的前端项目联调线上接口发现也是不行的。

到这里的话,问题已经很清晰了:线上项目有经过Nginx进行反向代理,那大概率就是Nginx这个环节出现问题了。

① 从Nginx日志中发现如下:

到这里已经很明确了,就是Nginx不能识别请求头中的access_token

② 网上查询相关资料

Nginx中关于: underscores_in_headers on

的配置是默认关闭的,于是不能识别到accessToken

在server模块中配置: underscores_in_headers on

access_token 修改为 accessToken

另外记录下遇到的其他问题:

① Dubbo中不能序列化HttpServletRequest,需要再消费者的业务实现类中进行数据获取,然后传递给生产者。

没有什么技术含量,流水账罢了...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11750770.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存