终于用上了StartSSL的免费域名了。这个第一年是免费的。那第二年就继续申请一下了只能。 StartSSL申请的时候还挺逗,没有用户名密码的,只是在你的本机安装了一个key。剩下就是用csr来申请证书了。 接下来就是nginx的配置了。crt和key都是人家给你生成好的。 dhparams.pem是在本机进行生成的。还有要注意一些header的设置。经过这样设置后,我的网站ssllabs检测都是A+水平了。
1
| openssl dhparam -out dhparams.pem 4096
|
1 2 3 4 5 6 7 8 9 10 11 12
| ssl_certificate /etc/nginx/conf/ssl/mirages.dev.crt; ssl_certificate_key /etc/nginx/conf/ssl/mirages.dev.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文件在最后添加如下内容:
1
| function content_to_https($content){ if( is_ssl() ){ $content = str_replace('https://images.timoq.com', 'https://images.timoq.com', $content); } return $content; } add_filter('the_content', 'content_to_https');
|