Nginx 反向代理 Apache,WordPress 打不开解决方法

将以下代码加入到:your/wordpress/wp-content/themes/theme-name/function.php

上面的是可以Google到的,下面的是你们Google不到的

使用https后,后台打开会出现的问题是,无法在 Chrome下使用 https加载css,js文件,导致不能正常显示和登录;那是因为wordpress里判断是否使用ssl的代码只使用了$_SERVER[‘https’]变量,而没有使用反向代理使用的$_SERVER[‘HTTP_X_FORWARDED_PROTO’],还应该判断这个是否为https,将 wp-include/function.php里的is_ssl函数作如下修改:

 

Nginx多条件判断

Nginx 配置中,条件判断没有 “与”,”或”运算

用连接字符的方式来判断是否达到条件

Nginx Gzip压缩优化设置

Nginx Gzip压缩这功能再平常不过,可是。。。你们知道gzip压缩功能可能把文件越压越大么?gzip压缩开启后可能导致访问变得更慢么?

Nginx Gzip常用配置参数:

    gzip  on;  #这个最简单,打开gzip压缩功能

    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; #这个理解起来也简单,压缩的类型。要查看类型列表在文件 path/to/nginx/conf/mime.types 默认就会压缩html

    gzip_disable “msie[1-6]”; #引号里是正则表达式,将与User-Agent进行比对,若为true则禁用压缩功能,若为 false就继续压缩

    gzip_comp_level 1; #压缩等级1-9,1最快,压缩比最低 9最慢,但压缩比最高

    gzip_http_version 1.1;  #Http版本,目前只有1.0和1.1

    gzip_buffers 4 16k; #按原始数据大小以16k为单位的4倍申请内存

    gzip_min_length 1k; #压缩的最小单位,若小于此单位,则不压缩

    gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any; # 匹配头类型进行缓存,默认off,通常手动改为any,

    gzip_vary on; 传送到代理服务器的头

gzip_comp_level,这个参数的值不用设得特别高,其实经过我测试,只要开启gzip,gzip_comp_level的值设置为1的话,压缩率大概就在50%(针对文本文件来说),再往上加意义不太大,效果也不太明显。如果是图片就不一样了,当压缩图片的时候值越大压缩比就越大。而当值为1的时候,图片基本上等于没有压缩。建议VPS就不压缩图片了,cpu使用受限导致速度会过慢,当然了你cpu很给力的话。。。压哦

gzip_min_length,此参数设置最小压缩,gzip使用 LZ77 压缩算法,LZ77算法通过使用编码器或者解码器中已经出现过的相应匹配数据信息替换当前数据从而实现压缩功能。这个匹配信息使用称为长度-距离对的一对数据进行编码,它等同于“每个给定长度个字符都等于后面特定距离字符位置上的未压缩数据流。扯远了…此值小于1K可能导致压缩后的数据比压缩前的更大。

生成SSL证书步骤并配置到Nginx

一、生成SSL证书

所有生成key和crt 文件的步骤就好了

二、上传到服务器并配置Nginx

注意:

  1. 当你上传完SSL证书使用后,发现Safari地址栏里的域名左边没有https图标的时候,原因:你的网站里包含了其它网站的连接,存在不安全的因素所以Safari不会显示https的图标解决的办法:把这些资源拷贝到你的站点目录再在网站里引用
  2. 使用Firefox浏览网页的时候,发现就算是授权过的SSL证书依然是不受信任的解决办法:将*SSLCA2.crt(COMODORSAAddTrustCA.crt)这个证书发放中心给你的文件的内容加到你申请的证书的后面,是证书的完整内容包含开始与结束
  3. Chrome浏览器地址尾部有一个灰色的盾牌,原因同1