博客已经开通全站https,www.b521.netboy.b521.net,http都可以自动跳转

博客启用https的艰难之路

(一)

故事要从机房小事件说起,我个人是比较屌(lan)丝(ren)的,结果密码被同学嗅探了有没有。。。还是明文的有没有,心中一万句无语,用个程序都是这么不安全。于是就有了下文。

上帝是要注定让我不平凡吗?这些坑比较多了。一个一个来吧

下面这是按照官方文档来配置的

server {
    listen 443;
    root /haha;
    index index.php index.html index.htm;
    server_name boy.b521.net;

    ssl on;
    ssl_certificate /root/my.crt;
    ssl_certificate_key /root/my.key;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
}

死活访问不了有没有。本人是LNMP架构,于是就在nginx,vhost,default的几个配置之间狂虐,就是死活访问不了,最后发现了问题,本人是用的腾讯云的学生机,安全组里也设置了443的规则,但是好像就是没有放行,用了默认的发现忽然可以了,怎么可以这么坑呢?我花了一下午的时间配置,却栽在了这里。未完。。。。

(二)

手贱又配置错了,一直异常连接。真费解。明明是按照官方文档来的啊

无法显示此页

在高级设置中启用 TLS 1.0、TLS 1.1 和 TLS 1.2,然后尝试再次连接到 https://boy.b521.net 。如果此错误持续出现,则可能是由于此站点使用了不受支持的协议。请联系站点管理员。

最后发现当时不是按照官方来的,自己当时胡乱裁剪的

于是恢复默认重来,最后发现了官方的设置是不行的。

就有了第二部分

    listen 80;
    listen 443;

    #listen [::]:80;
    server_name boy.b521.net;

    index index.html index.htm index.php default.html default.htm default.php;
    root  /haha;


    ssl on;
    ssl_certificate /root/my.crt;
    ssl_certificate_key /root/my.key;
    ssl_session_timeout 5m;

终于成功了。心里翻滚了,差点跳起来!

最后还有个重定向的问题,发现网上普遍的都是直接配置文件。

不适合我,我的需要自己重写rewrite规则

下面的是代码部分

    if ($server_port = 80) {

    return 301 https://$server_name$request_uri;

    }

    if ($scheme = http) {

    return 301 https://$server_name$request_uri;

    }

    error_page 497 https://$server_name$request_uri;

成功了。。。本文想着写的,本来想边配边写的,结果太多问题了!

**~~~~~(>_<)~~~~**

最后由 不一样的少年 编辑于2016年06月01日 23:01