V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Jarvanh
V2EX  ›  WordPress

请教大家 Wordpress 博客怎么启用 SSL 加密

  •  
  •   Jarvanh · 2014-06-18 16:52:09 +08:00 · 4427 次点击
    这是一个创建于 3810 天前的主题,其中的信息可能已经有所发展或是发生改变。
    20 条回复    2014-08-28 13:24:50 +08:00
    Livid
        1
    Livid  
    MOD
       2014-06-18 17:23:52 +08:00
    你需要买一个证书,然后把证书配置到 Apache 或者 Nginx 上。
    yinxingren
        2
    yinxingren  
       2014-06-18 17:29:29 +08:00
    roychan
        3
    roychan  
       2014-06-18 17:36:29 +08:00
    买一个证书,然后直接在 Web 服务器里配置。如果有面板,比如 AMH 就方便很多了。前提是必须有独立 IP。
    JinChen
        4
    JinChen  
       2014-06-18 21:10:37 +08:00
    @roychan 其实共享 IP 也是可以配置 HTTPS 的,就是看空间商那边了。。。
    ehs2013
        5
    ehs2013  
       2014-06-18 21:22:52 +08:00
    @roychan SSL3/TLS 支持单 IP 多域名 HTTPS
    roychan
        6
    roychan  
       2014-06-18 21:27:54 +08:00
    @JinChen
    @ehs2013

    Thanks.
    qq286735628
        7
    qq286735628  
       2014-06-18 21:54:47 +08:00
    上StartSSL申请一年的免费SSL证书
    https://www.mxgw.info/history/nginx-startssl-spdy.html
    Nin
        8
    Nin  
       2014-06-18 22:42:10 +08:00
    @qq286735628 这个不行,挂上StartSSL就会被墙
    Jarvanh
        9
    Jarvanh  
    OP
       2014-06-18 23:02:55 +08:00
    @qq286735628
    @Nin
    额,那是行还是不行?
    Jarvanh
        10
    Jarvanh  
    OP
       2014-06-18 23:03:49 +08:00
    @yinxingren
    @roychan
    我的是独立ip和AMH面板,可以详细说一下吗
    JinChen
        11
    JinChen  
       2014-06-18 23:42:07 +08:00
    @Nin 为什么说用 StartSSL 会被墙?
    Nin
        12
    Nin  
       2014-06-19 00:31:23 +08:00
    @Jarvanh StartSSL不行

    @JinChen 不知道,突然某一天就这样了,GFW墙掉了所有用免费StartSSL的网站.
    roychan
        13
    roychan  
       2014-06-19 07:58:19 +08:00   ❤️ 1
    @Jarvanh

    先生成一个 KEY(教程网上有),然后买一个 SSL 证书(淘宝上最便宜的 7 块),得到密钥和证书后,在 AMH 里配置。AMH 有个模块叫 BBSSHIJIESSL,下载以后配置很方便。

    然后这时就可以直接用 https 访问了。

    看到你的博客是 WordPress,那么如果要默认 SSL 访问的话,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;

    location / {
    index index.html index.php;
    if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
    }
    if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
    }
    if (!-f $request_filename){
    rewrite (.*) /index.php;
    }
    }

    在此之前,我还加了一个规则,让非 www 域名访问 301 跳转到 www.yourdomain.com。新版本 WordPress 自带了这个功能,但我还是给一个主机绑定了两个域名并且重写规则如下:

    if ($host != 'youdomain.com') {
    rewrite ^/(.*)$ https://www.yourdomain.com/$1 permanent;
    }

    另:最近局势紧张,建议禁用 Google 字体。
    roychan
        14
    roychan  
       2014-06-19 07:59:35 +08:00
    忘记打空格了,囧……
    JinChen
        15
    JinChen  
       2014-06-19 13:11:24 +08:00
    @Nin 我一直是用 StartSSL 啊,一直好好的。。。
    Jarvanh
        16
    Jarvanh  
    OP
       2014-06-20 18:21:42 +08:00
    @JinChen 你的博客也没有用加密链接啊
    JinChen
        17
    JinChen  
       2014-06-20 20:49:07 +08:00
    @Jarvanh 用的,只是没有强制使用
    Jarvanh
        18
    Jarvanh  
    OP
       2014-08-28 10:13:03 +08:00
    @roychan 在 AMH 里配置,AMH 有个模块叫 BBSSHIJIESSL

    非常感谢,用这个模块一下子就配置好了。之前没注意到,稀里糊涂弄了很久
    roychan
        19
    roychan  
       2014-08-28 11:17:56 +08:00
    @Jarvanh 事实上,纯粹的命令行环境也很好配置。
    Jarvanh
        20
    Jarvanh  
    OP
       2014-08-28 13:24:50 +08:00
    再请教一下,怎样才能让https变绿色,我的还是黄色,有些浏览器会有安全警告
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4562 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:54 · PVG 17:54 · LAX 01:54 · JFK 04:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.