Apache 相关配置
1. HTTP缓存设置
ExpiresActive On #ExpiresDefault 设置全局缓存时间,将导致一些get请求不能连续执行
#ExpiresDefault "access plus 0 days" ExpiresByType application/* "access plus 30 days"
ExpiresByType image/css "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
access 表示以客户端访问资源的时间为基准;
modification 表示以以资源最后修改的时间作为计算的基准;
2. 关闭Last-Modified
#关闭html|gif|jpg|png的Last-Modified
LoadModule headers_module modules/mod_headers.so <FilesMatch "\.(html|gif|jpg|png)">
Header unset Last-Modified
</FilesMatch>
3. 关闭Etag
FileETag None Header unsets ETag
Last-Modified与ETag,都是用来标识一个资源是否更改过。
Last-Modified的值是资源的时间戳,如果按F5或者刷新按钮则If-Modified-Since头会带着时间戳发送到服务器,如果服务器上资源的最后修改时间<=这个时间,那么返回304 Not Modified,否则返回200 OK 以及新的资源;
ETag的值是通过资源的信息计算出来的一个字符串,如果按F5或者刷新按钮则If-None- Match头会带着这个值发送到服务器,服务器用这个值来和当前资源的值进行比对,如果相等,则返回304 Not Modified,否则返回200 OK 以及新的资源。
默认情况下Apache对静态资源会发送Last-Modified和ETage,但是由于ETage的计算会耗费服务器的CPU资源,所以选择关掉,只开启Last-Modified。
4. 开启Gzip压缩,设置vary头
LoadModule deflate_module modules/mod_deflate.so #js,html,xml,css,普通文本开启Gzip压缩
AddOutputFilterByType DEFLATE application/x-javascript text/html text/plain text/xml text/css
Gzip会对文本资源进行压缩,一般能节省40%的大小,二进制内容不需要开启Gzip压缩,因为这些文件是已经压缩过的,如果再进行Gzip压缩反而会 增加其大小。静态资源一般都会在代理服务器上进行缓存,而有的浏览器支持Gzip,但是也有不支持Gzip的旧浏览器,所以需要设置Vary: Accept-Encoding 头,这个头告诉代理缓存服务器要对资源缓存两份,一份压缩过的,一份没有压缩过,然后根据浏览器发送的Accept-Encoding头来返回压缩或者不压缩的内容。
5. HTTPS、Websocket代理
httpd.conf
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so #apache2.2.5以上,专用来做websocket代理
httpd-ssl.conf
SSLProxyEngine on
ProxyRequests off SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off ProxyPass /socket.io/ws/ wss://127.0.0.1:60002/socket.io/
ProxyPassReverse /socket.io/ws/ wss://127.0.0.1:60002/socket.io/ ProxyPass /socket.io/ https://127.0.0.1:60002/socket.io/
ProxyPassReverse /socket.io/ https://127.0.0.1:60002/socket.io/
Apache 相关配置的更多相关文章
- apache相关配置
PHP配置 php.ini-development:开发时的php.ini配置 php.ini-production:项目运行时的php.ini配置 复制php.ini-development文件到C ...
- 1.3.1 apache的配置(下)
(1)httpd.conf的配置 使用文本编辑工具(推荐使用Editplus.UltraEdit等工具),打开httpd.conf. 其中,行首为#的部分为注释部分,不会被apache服务器程序进行读 ...
- windows下 apache 二级域名相关配置
小编今天给大家总结下 windows 下 apache的二级域名的相关配置 利用.htaccess将域名绑定到子目录 下面就利用本地127.0.0.1进行测试 我们这里以 www.jobs.com 为 ...
- apache的.htaccess文件作用和相关配置
首先.htaccess什么? .htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令. 当我们使用apache部署一个网站代码准备部署到网上的时候,我们手中的apache的h ...
- Apache的三种工作模式及相关配置
Apache的三种工作模式 作为老牌服务器,Apache仍在不断地发展,就目前来说,它一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块).它们分别是 prefor ...
- 2016/07/07 apmserv5.2.6 Apache启动失败,请检查相关配置。MySQL5.1已启动。
因为要用PHP做一个程序,在本机上配PHP环境,下了个APMServ5.26,安装很简单,不再多说,装好后,启动,提示错误,具体是:“Apache启动失败,请检查相关配置.√MySQL5.1已启动”, ...
- windows下 apache 二级域名相关配置 【转】
转至: http://www.th7.cn/Program/php/201306/141305.shtml 今天给大家总结下 windows 下 apache的二级域名的相关配置 下面就利用本地127 ...
- Linux centosVMware apache 限定某个目录禁止解析php、限制user_agent、php相关配置
一.限定某个目录禁止解析php 核心配置文件内容 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 先创建.编辑一个php 配置 vim /u ...
- zookeeper集群的搭建以及hadoop ha的相关配置
1.环境 centos7 hadoop2.6.5 zookeeper3.4.9 jdk1.8 master作为active主机,data1作为standby备用机,三台机器均作为数据节点,yarn资源 ...
随机推荐
- Response.End(); 用HttpContext.Current.ApplicationInstance.CompleteRequest 代替
Response.End(); 会报异常 HttpContext.Current.ApplicationInstance.CompleteRequest 这里有个讨论的帖子很有意思:http://q. ...
- [tools] sublime 使用记录
1. 目录下的文本搜索功能(自带) 1). 把文件夹拖到 sublime 上 2). 在 sublime 上展开要搜索的目录,右击,选择[find in folder] 2. sublime cons ...
- nyoj 222 整数中的1个数以及这类问题
之前也写过一篇这样的文章,但是隔了这么久,竟然忘了.还是要有清晰的思路,才能真正的掌握. 这道题是这样的: 给出两个非负32位整型范围内的数a,b,请输出闭区间[a,b]内所有数二进制中各个位的1的总 ...
- STRUCTS 2 UPLOAD
{LJ?Dragon}[标题]structs2 上传文件中文乱码问题 {LJ?Dragon}[Daily] 1.配置struts.xml文件 <?xml version="1.0&qu ...
- RHEL6.4编译安装gcc4.8.1
因为平时用的linux虚拟机都是RHEL6.4, 自带的gcc版本号太低,不支持C++11,而从gcc4.8.1開始, gcc完美支持C++11全部特性. 故升级了一下. 以下是具体步骤: 1. 下载 ...
- axf、elf文件转换成bin、hex脚本工具
在嵌入式开发过程中常常遇到将axf或elf文件转换成bin的情况,大家都知道通过gnu toolchain中的objcopy和keil中的fromelf能做到.可是为了这么一个小事而记住复杂的选项以及 ...
- [转] Linux中gcc,g++常用编译选项
http://blog.sina.com.cn/s/blog_5ff2a8a201011ro8.html gcc/g++ 在执行编译时,需要4步 1.预处理,生成.i的文件[使用-E参数] 2.将预处 ...
- android ToolBar与DrawerLayout笔记
通过Android Studio 生成的Nagvition DrawerLayout Activity 自带的布局中的NagvitionView会覆盖ToolBar直接通到statusBar. 但是自 ...
- 新版本ButterKnife的配置
新版本的ButterKnife的添加方式发生了变化,然后摸索着记录了一下. 按照ButterKnife的官网描述,使用ButterKnife需要在Gradle中添加如下依赖: compile 'com ...
- 表达式:使用API创建表达式树(1)
表达式树可使用Expressions类的静态工厂方法来创建.这种用API的方式创建给予我们在编程极大的灵活性,MSDN上关于表达式的例子也不少,但在使用过程中还是会遇到许多麻烦,对有的表达式类,介绍得 ...