个人博客http转https

  搭建个人博客的时候,就看过一些免费证书申请的文章,也浏览过一些使用Https的博客。使用Https要比Http安全很多,至少在国内很普通的流量劫持攻击会减少很多。闲来无事,测试把自己的个人博客也升级到Https。

  使用Https加密首先就需要申请个人博客证书,收费的证书颁发机构国内和国外都有很多。个人博客推荐使用现在比较流行的Let‘s Encrypt。申请过程比较简单,使用官方自动化脚本:

1、配置git环境:# yum install git

2、下载自动化脚本到本地

# git clone https://github.com/certbot/certbot

# cd certbot

3、生成证书

./certbot-auto certonly --standalone --email [email protected] -d iorisun.com -d www.iorisun.com

将安装以下软件包

安装过程,需要手动确认是否安装,输入Y确认。另外还需要接受官方协议,输入A回车即可。

注意:申请时,防火墙需要开通https端口

# firewall-cmd --permanent --zone=public --add-service=https

# firewall-cmd --reload

申请成功后,有以下提示:

可通过tree命令查看:# tree /etc/letsencrypt/live/

4、修改nginx配置文件

# vim /etc/nginx/conf.d/default.conf

在Nginx配置文件中加入SSL参数定义,把http重定向到https

如下:修改和增加以下内容

重启服务后,再打开网站就可以看到绿色的小锁了。

5、设置证书自动延期

Let‘s Encrypt的证书有效期只有90天,需要定期更新证书:

通过crontab制定一个计划任务,每2个月更新一次。

* * * 2 * root /root/certbot/certbot-auto renew --standalone --pre-hook "service nginx stop" --post-hook "service nginx start" --force-renewal

或者使用./certbot-auto renew -v命令也可以。

6、修改博客站点地址

优化Https安全性:

1、生成dhparam.pem

# cd /etc/ssl/certs/

# openssl dhparam -out dhparam.pem 2048

2、生成HTTP Public Key Pinning

# cd /etc/letsencrypt/live/iorisun.com/

# openssl rsa -in privkey.pem -outform der -pubout | openssl dgst -sha256 -binary | openssl enc -base64

writing RSA key

9rcncxVnzws62MPkX5nUJPKs5jAGAhnxeqANv0Hx7Vo=

# openssl x509 -in chain.pem -pubkey -noout | openssl rsa -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64

writing RSA key

YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=

3、修改nginx配置文件:

# vim /etc/nginx/conf.d/default.conf 
server {
    listen 80;
    listen 443 ssl http2;
    server_name www.iorisun.com iorisun.com;
    root         /usr/share/nginx/html/;
    index        index.html index.php index.htm;
    if ($scheme = http) {
        return 301 https://$server_name$request_uri;
    }
    ssl_certificate /etc/letsencrypt/live/iorisun.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/iorisun.com/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout  10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/letsencrypt/live/iorisun.com/chain.pem;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    server_tokens off;
    resolver 8.8.4.4 8.8.8.8 valid=300s;
    resolver_timeout 10s;
    fastcgi_hide_header X-Powered-By;
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
    add_header Public-Key-Pins ‘pin-sha256="9rcncxVnzws62MPkX5nUJPKs5jAGAhnxeqANv0Hx7Vo="; pin-sha256="YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg="; max-age=2592000; includeSubDomains‘ always;
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

  配置完之后可以测试一下网站的安全级别:https://www.ssllabs.com/ssltest/

时间: 2024-10-25 02:36:57

个人博客http转https的相关文章

博客搬迁到 https://www.vnimos.cn/

现在笔记喜欢使用markdown格式,无奈51cto还不支持,干脆自建了一个博客网站:https://www.vnimos.cn/,后续将在空闲时间陆续把积累多时的笔记更新到自建的博客中,主要涉及Openstack.Docker和自动化运维,请大家多多关注. 在51cto不支持markdown格式之前将不再更新51cto的博客.

个人博客如何开启 https

以前写过利用 wordpress 搭建的一个博客『个人博客搭建( wordpress )』,绑定了域名,但是没开启 https,在浏览博客的时候浏览器会提示不安全.下面来谈下个人博客如何免费申请证书,开启 https . 一.申请 Let's Encrypt 证书 系统环境要求:python2.7+ 手动申请网址:letsencrypt.osfipin.com/v2/login 1.安装 git yum install -y git 查看版本号:git --version 卸载:yum remo

原创:LNMP架构部署个人博客网站 禁止转载复制

nginx编译安装步骤 ①. 检查软件安装的系统环境 cat /etc/redhat-release uname -r ②. 安装nginx的依赖包(pcre-devel openssl-devel)---假设不进行安装 yum install -y pcre-devel openssl-devel ③. 下载nginx软件---1.10.2 复制链接地址(统一位置进行下载) mkdir -p /home/oldboy/tools cd /home/oldboy/tools wget -q ht

LNMP博客以及数据库分离搭建实战

nginx搭建命令 cd /home/oldboy/tools 安装存放软件包路径 yum install openssl openssl-devel -y 安装Nginx所需的库.和加密协议 yum install pcre pcre-devel -y 安装Nginx所需的库.和加密协议 rpm -qa openssl-devel pcre-devel  openssl openssl-devel 检查是否安装好 wget -q http://nginx.org/download/nginx-

价值博客们,技术博客

www.raychase.net http://mindhacks.cn 程序员博客墙blogwall.us http://www.cppblog.com/vczh MacTalk-池建强的随想录 Fenng DBA Notes | 闲思录robbin的自言自语风雪之隅-Laruence的博客 blog.vgod.tw 张琮翔的Blog:愛好電腦.科技.程式設計,目前在MIT電腦科學與人工智慧實驗室就讀博士班,尋找人機互動與程式設計交會的創新火花. MIT CSAIL的PhD,现在毕业开始创业了

搭建Ghost 基于Node.js的开源博客系统

 安装MySQL # 安装MySql $ apt-get update # 更新组件 $ apt-get install mysql-server mysql-client -y # 快速安装-y代表默认选择y省去了回车,这时只需要设置mysql的root密码 # 设置mysql的编码 $ sudo vi /etc/mysql/mysql.cnf # 搜索到[mysqld] 插入collation-server = utf8_unicode_ci init-connect = 'SET NA

关于博客地址迁移

由于博客园的对markdown支持的不友好,所以决定把博客迁移到codingPages上. 新的博客地址:https://www.cssge.com/

[福大软工] Z班——个人技术博客评分

个人技术博客 作业地址 https://edu.cnblogs.com/campus/fzu/SoftwareEngineering2015/homework/1070 作业要求 个人技术博客单次作业满分为10分,博客的形式与内容不做任何限制,但要在博客中说明博客所介绍的技术与团队项目的关系.第一次个人技术博客的截止日期会定在团队阿尔法阶段结束时(初步设定了截止日期,之后会根据团队项目整体的进度调整). 注意:技术博客是个人作业,需要每位同学独立完成. 评分准则 本次技术博客的分数由两部分组成,

ios高质量博客

(唐巧收集的博客地址) https://github.com/tangqiaoboy/iOSBlogCN 国外的博客地址 https://www.raywenderlich.com http://iosdevelopertips.com https://iosdevweekly.com http://nshipster.com http://ciechanowski.me https://www.bignerdranch.com http://nilsou.com 原文地址:https://ww