终于用上了StartSSL的免费域名了。这个第一年是免费的。那第二年就继续申请一下了只能。

StartSSL申请的时候还挺逗,没有用户名密码的,只是在你的本机安装了一个key。剩下就是用csr来申请证书了。

接下来就是nginx的配置了。crt和key都是人家给你生成好的。 dhparams.pem是在本机进行生成的。还有要注意一些header的设置。经过这样设置后,我的网站ssllabs检测都是A+水平了。

ssl


openssl dhparam -out dhparams.pem 4096


ssl_certificate      /etc/nginx/conf/ssl/timo.piqiu.me.crt;
ssl_certificate_key  /etc/nginx/conf/ssl/timo.piqiu.me.key;
ssl_dhparam          /etc/nginx/conf/ssl/dhparams.pem;

ssl_ciphers          ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:DES-CBC3-SHA;

ssl_prefer_server_ciphers  on;
ssl_protocols        TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

add_header  Strict-Transport-Security  "max-age=31536000";
add_header  X-Frame-Options  deny;
add_header  X-Content-Type-Options  nosniff;
add_header  Content-Security-Policy  "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' img-src 'self' data: https://www.google-analytics.com; style-src 'self' 'unsafe-inline'";

但是访问的时候虽然做了301把http转为https,但是之前那些图片都是http的,所以浏览器还是会出现黄色警告。所以要把里面的图片地址也都转为https。 下面这个就是修改我的主题里的functions.php文件在最后添加如下内容:

/* 替换图片链接为 https */
function content_to_https($content){
    if( is_ssl() ){
        $content = str_replace('https://timo.piqiu.me/wp-content/uploads', 'https://timo.piqiu.me/wp-content/uploads', $content);
    }
    return $content;
}
add_filter('the_content', 'content_to_https');

 

Share Your Thought