Apache中Cookie长度的设置 414 request-uri too large apache
起因:
今天在调试Ucenter的同步登陆和同步登出的过程中,浏览器突然出现以下错误提示:
Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.
开始是以为P3P协议设置cookie的问题,查阅了P3P的文档,没有相关的条目。经过不懈的搜索,终于发现原来是Apache中资源使用限制的设置问题。
技术背景:
Apache中“资源使用限制”就是要限制用户对网站特定资源(如目录、服务器硬件等)的访问。相关指令包括:LimitRequestBody、
LimitRequestFields、LimitRequestFieldSize、LimitRequestLine、RLimitCPU、
RLimitMEM、RLimitNPROC和ThreadStackSize。LimitRequest*系列指令用来限制Apache在读取客户端请
求的过程中使用的资源数量。通过限制这些值,可以减轻某些拒绝服务(DOS)攻击;RLimit*系列指令限制被Apache子进程所派生的进程使用的资
源数量,通常这些指令用来控制CGI脚本和SSI exec命令所使用的资源;ThreadStackSize指令在某些平台上用来控制堆栈大小。
LimitRequestLine
LimitRequestLine指令用来限制接收客户端发送的HTTP请求行的字节数,允许服务器管理员增加或减少客户端HTTP请求行允许大小的限
制。因为请求行包括HTTP方法、URI、协议版本,所以LimitRequestLine指令会限制请求URI的长度。服务器会需要这个值足够大以装载
它所有的资源名,包括可能在GET请求中所传递的查询部分的所有信息。
LimitRequestFieldSize
LimitRequestFieldSize指令用来限制客户端发送的请求头的字节数,允许服务器管理员增加,或减少HTTP请求头域大小的限制。一般来
说,服务器需要此值足够大,以适应普通客户端的任何请求的头域大小。一个普通头域的大小对于不同的客户端来说是有很大差别的,一般与用户配置他们的浏览器
以支持更多的内容协议密切相关。
LimitRequestLine和LimitRequestFieldSize指令给了服务器管理员更大的可控性,以控制客户端不正常的请求行为。这有助于避免某些形式的拒绝服务攻击。默认值为“8190”。
解决
在Apache的httpd.conf配置文件中(直接加就可以)
LimitRequestLine 40940
LimitRequestFieldSize 40940
问题解决。
或者清除下本机中本域的Cookie也行。
Apache中Cookie长度的设置 414 request-uri too large apache的更多相关文章
- flask中cookie和session设置
flask中cookie和session介绍 一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户. ...
- golang-在gin中cookie跨域设置(配合ajax)
1.当我在golang中,在前后端分离的情况下使用cookies时发现,跨域没有被允许.代码如下: func AccessJsMiddleware() gin.HandlerFunc { return ...
- Flask中cookie和session设置与csrf原理攻防
Flask之操作cookie app.py from flask import Flask, request, Response app = Flask(__name__) @app.route('/ ...
- Windows下Apache应用环境塔建安全设置(目录权限设置)
目的:为Apache,php配置受限制的用户权限.保护系统安全.需要的朋友可以参考下. 环境配置情况: apache安装目录:d:\www-s\apache php目录:d:\www-s\php5 m ...
- php在apache中一共有三种工作方式:CGI模式、FastCGI模式、Apache 模块DLL
php在apache中一共有三种工作方式:CGI模式.FastCGI .FastCGI是什么? FastCGI是语言无关的.可伸缩架构的CGI开放扩展,其主要行 为是将CGI解释器进程保持在内存中并因 ...
- nginx解决超长请求串(413 request Entity too Large错误解决办法)
<div class="hide-article-box text-center" style="display: block;"> <a c ...
- 2.在程序中如何实现Cookie信息的设置,读取和删除
设置:你可以在IE的“工具/Internet选项”的“常规”选项卡中,选择“设置/查看文件”,查看所有保存到你电脑里的Cookies.这些文件通常是以user@domain格式命名的,user是你的本 ...
- Django中的session和cookie及分页设置
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- 如何在 Apache 中为你的网站设置404页面
一个好的网站,拥有一个好的 404页面 是标配. 为何要有 404页面?如何设置一个 404页面? why 404 pages? 在本地,比如我打开 localhost/fuck.htm(该文件不存在 ...
随机推荐
- 读《深入理解Elasticsearch》点滴-改善查询相关性
1.标准查询 query match _all query:"搜索字符串" operator:or 2.多匹配查询+区分权重 query multi_match "que ...
- Spring Boot 2.X(五):MyBatis 多数据源配置
前言 MyBatis 多数据源配置,最近在项目建设中,需要在原有系统上扩展一个新的业务模块,特意将数据库分库,以便减少复杂度.本文直接以简单的代码示例,如何对 MyBatis 多数据源配置. 准备 创 ...
- 你也可以写聊天程序 - C# Socket学习1
简述 我们做软件工作的虽然每天都离不开网络,可网络协议细节却不是每个人都会接触和深入了解.我今天就来和大家一起学习下Socket,并写一个简单的聊天程序. 一些基础类 首先我们每天打开浏览器访问网页信 ...
- 设计模式 - 动态代理原理及模仿JDK Proxy 写一个属于自己的动态代理
本篇文章代码内容较多,讲的可能会有些粗糙,大家可以选择性阅读. 本篇文章的目的是简单的分析动态代理的原理及模仿JDK Proxy手写一个动态代理以及对几种代理做一个总结. 对于代理模式的介绍和讲解,网 ...
- KEIL软件中编译时出现的Error L6200E: symbol multiply defined ...的解决方法
原因:如LCD.C文件使用了bmp.h中的image[ ]变量,那么就不能将#include"bmp.h"放在LCD.H中,要将#include"bmp.h"放 ...
- BZOJ 1345: [Baltic2007]序列问题Sequence
1345: [Baltic2007]序列问题Sequence Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 1180 Solved: 633[Subm ...
- 统计字符的个数,能够组成几个acmicpc
Problem F. String Input file: standard input Output file: standard ou ...
- Hive 官方手册翻译 -- Hive DML(数据操纵语言)
由 Confluence Administrator创建, 最终由 Lars Francke修改于 八月 15, 2018 原文链接 https://cwiki.apache.org/confluen ...
- Java源码解析|HashMap的前世今生
HashMap的前世今生 Java8在Java7的基础上,做了一些改进和优化. 底层数据结构和实现方法上,HashMap几乎重写了一套 所有的集合都新增了函数式的方法,比如说forEach,也新增了很 ...
- 关于_GNU_SOURCE宏
是在features.h中用于特性控制的一个功能测试宏 /user/include/features.h /* If _GNU_SOURCE was defined by the user, turn ...