出现Internal Server Error的原因以及解决方法

admin3年前 (2021-11-11)生活知识414

出现Internal Server Error的原因以及解决方法

打开网站出现Internal server error 500错误,通常是服务端出现一些未知异常,但是在检查的时候我们不能仅仅只是关注应用服务,而是要关注从服务端接收请求开始,一直到应用服务的整条链路。


方法/步骤

程序文件中的权限问题导致Internal Server Error的解决方法

image.png

访问网站提示“Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request”解决方法:登陆FTP或文件管理器,检查站点目录文件权限设置,将文件夹权限设置为755,单个文件权限设置为644。

image.png

出现Internal Server Error的原因和解决方法

这样设置644后,问题就可以解决,同时也不会影响网站的所需要的写入权限,满足网站正常运行。如果你的站点中有很多权限都要需要设置,为了提高效率。



因为不同网站使用的程序代码都不竞相同,解决方案也不会完全一样,下面通过排查办法提供通用的解决思路:由于应用逻辑问题导致错误的可能性很小,那么第二个原因的嫌疑最大,就是mark逻辑问题。如果直接排查mark的源码,太费时费力,这个时候最好的办法是实时抓包,看看mark和应用服务之间到底发生了什么。

image.png

使用tcpdump命令抓取从jetty到应用服务之间的数据包,将结果输出到临时文件中:


tcpdump -i eth0:0 -s0 host 1X.XXX.XXX.XX -w /tmp/out1.cap


jetty对于请求数据的大小会做限制,超过200000 byte的时候就会报错,返回错误码500。

image.png

找到问题了,在WEB-INF目录下添加jetty-web.xml 文件解决,文件内容如下:

image.png

<Configure id="WebAppContext"class="org.eclipse.jetty.webapp.WebAppContext">


<Set name="maxFormContentSize"type="int"> 0 </Set>


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。