博客全站强制SSL和Nginx的一个问题

强制SSL

PositiveSSL_tl_trans

昨天半夜,Jimmy Zhou同学上了DO并且随着大流加了SSL。因为我的站早就启用了StartCom的免费SSL证书,所以他就来给我的SSL评了下分。结果——C。

强迫症瞬间就犯了,在Jimmy同学的鼓动下,入了$9一年的COMODO SSL。接下来就是升级网站的SSL配置,具体过程如下:

  • 1、升级Openssl(2015.10更新:改成了LibreSSL),使用更安全,ARM平台表现更好的加密算法: CHACHA20_POLY1305。。
  • 2、重新编译安装Nginx至最新版本,开启SPDY。(顺便吐槽下:lnmp一键安装包的一键升级Nginx脚本存在问题,还是手动配置大法好)
  • 3、禁用SSLv3(这是我搬回国内以后忘记做得事情)。
  • 4、强制http://dickwu.com 和 http://www.dickwu.com 301 至https://dickwu.com。

然后SSL评级就A了。离A+还差一步,至少强迫症解决了。

Update: 配置CHACHA20_Poly1305的详细教程,移步这里

Nginx Rewrite规则加斜杠的问题

新的强迫症出现:

这是老问题了,既然昨天动到了Nginx就想办法解决一遍。具体问题是这样的:

如果我访问https://dickwu.com/class04这个网址,最后没有加斜杠,Nginx会认为站点是在dickwu.com/下,CSS什么的自然是到dickwu.com/css里去找,这就造成了网页里所有css,js,图片挂掉的问题。

网上的办法都是在Nginx的配置文件中加一句server_name_in_redirect off; 但事实上Nginx早就把这个配置作为默认选项了。那问题肯定就出在了Wordpress的Rewrite规则上。

搞了一晚上,没想到办法。最后用了被Jimmy嘲笑的一招:

if (-d $request_filename){

rewrite ^/(.*)([^/])$ /$1$2/ permanent;

}

但是这绝对不是解决的办法。

求大神相救!!!!!!!!!!!!!!!!!

26 Replies to “博客全站强制SSL和Nginx的一个问题”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.