米饭粑 米饭粑
  • 首页
  • 好物推荐
    • 干货分享
    • 好物推荐
    • 免费资源
    • 非专业测评
  • 技术架构
    • Linux
    • HTTPS
    • Windows Server
  • 网站建设
    • 免费资源
    • 建站程序
    • 云建站
    • WordPress
  • 网络服务
    • CDN
    • DNS
    • HTTPS
  • 教程&更多
    • 更多教程
    • 资讯新闻
    • 琐琐碎碎
    • 关于米饭
    • 打赏米饭
  • 友情链接
  • 阿里云Ping
首页 › 技术架构 › HTTPS › 调教 A+ 跑分的 ECC + CT 加持版 OpenResty

调教 A+ 跑分的 ECC + CT 加持版 OpenResty

妙正灰
4年前HTTPS
1,640 0 0

介绍

本文将介绍如何设置跑分 A+ 的 OpenResty 设置以及ECC、双证书和Certificate Transparency的部署教程。

教程

申请 RSA 证书请查看:免费申请阿里云 – 赛门企业级铁克 SSL 证书!,这里我就不多阐述了,非常的简单。

ECC证书申请

这里我们使用 Neilpang/acme.sh 作为申请 Let’s Encrypt 的免费 ECC 证书。

运行下面代码下载 acme.sh:

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh

这里我们使用 dns 方式来验证域/Users/ivmm/Pictures/未命名文件夹/1.png
名的所有权,运行:

./acme.sh  --issue  --dns   -d acmet.mf8.biz --keylength ec-256

如果是 根域名和www申请就是:

./acme.sh  --issue  --dns   -d mf8.biz -d www.mf8.biz --keylength ec-256

下面是演示GIF:

调教 A+ 跑分的 ECC + CT 加持版 OpenResty-米饭粑

中间得到一句:

[Thu Jun 15 09:00:16 UTC 2017] Domain: '_acme-challenge.acmet.mf8.biz'
[Thu Jun 15 09:00:16 UTC 2017] TXT value: 'IWuFBesaK6GOVa5_oMqBvX_Di8H-_taiwOA5r-hNOG8'

Domain: 就是要添加的域名子域名,_acme-challenge.acmet 就是
TXT value: 即添加为 txt 类型,内容为:IWuFBesaK6GOVa5_oMqBvX_Di8H-_taiwOA5r-hNOG8

调教 A+ 跑分的 ECC + CT 加持版 OpenResty-米饭粑

等待DNS生效后,然后再运行:

./acme.sh  --renew -d acmet.mf8.biz --keylength ec-256 -ecc

mkdir -p /usr/local/openresty/nginx/conf/ssl/

./acme.sh  --installcert  -d acmet.mf8.biz   \
        --keypath   /usr/local/openresty/nginx/conf/ssl/acmet.key \
        --fullchainpath /usr/local/openresty/nginx/conf/ssl/acmet.crt \
        --reloadcmd  "nginx -s reload" \
        --ecc

可以辅助查看的双证书教程:生成、签署 ECC 证书,Nginx 部署双证书教程
acme.sh 的官方中文文档L:https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

部署 Certificate Transparency

Certificate Transparency 部署难度较高,需要境外服务器辅助,除了提高安全性并不会提升性能,如果没有 EV 证书其实也可以不部署:

教程:https://www.mf8.biz/nginx-certificate-transparency/#toc_5

只需要看设置部分就行,编译部分在编译 OpenResty 的时候就已经编译进去了

设置

做完准备工作,我们就要开始为虚拟主机设置 HTTPS + HTTP/2 了!

这里我们以 www.mf8.biz 为例,下面是 HTTPS 虚拟主机配置文件,设置了 nginx-ct 和 ECC 双证书以及一些高级HTTPS安全设置:

server {

  ##开启 HTTPS 和 HTTP/2
  listen 443 ssl http2;

  ##ECC证书部分
  ssl_certificate /usr/local/openresty/nginx/conf/ssl/www.mf8.biz-ecc.crt; #ECC证书
  ssl_certificate_key /usr/local/openresty/nginx/conf/ssl/www.mf8.biz-ecc.key; #ECC密钥
  ssl_ct_static_scts /usr/local/openresty/nginx/conf/ssl/sct-1/; #ECC证书的透明证书


  ssl_certificate /usr/local/openresty/nginx/conf/ssl/www.mf8.biz.crt; #RSA证书
  ssl_certificate_key /usr/local/openresty/nginx/conf/ssl/www.mf8.biz.key; #RSA密钥
  ssl_ct_static_scts /usr/local/openresty/nginx/conf/ssl/sct-2/; #RSA证书的透明证书

  ##SSL增强安全设置部分
  add_header Strict-Transport-Security max-age=15768000; #HSTS设置
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
  ssl_ct on; #开启透明证书
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  ssl_stapling on;
  ssl_stapling_verify on;

  server_name www.mf8.biz mf8.biz;
  access_log off;
  index index.html index.htm index.php;
  root /data/wwwroot/mf8;
  
  location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)$ {
  valid_referers none blocked *.mf8.biz www.mf8.biz mf8.biz;
  }


  ##PHP
  location ~ [^/]\.php(/|$) {
      fastcgi_pass unix:/run/php/php7.1-fpm.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
      fastcgi_param PHP_VALUE "open_basedir=$document_root:/tmp/:/proc/";
    }

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
  }
  location ~ /\.ht {
    deny all;
  }
}

将 HTTP 跳转到 HTTPS:

server {
  listen 80;
  server_name www.mf8.biz mf8.biz;
  access_log off;
  index index.html index.htm index.php;
  rewrite ^/(.*)$ https://www.mf8.biz/$1 permanent;
}

跑分

到 https://www.ssllabs.com/index.html 可以进行网站 HTTPS 的跑分,这么一番下来肯定是 A+!

调教 A+ 跑分的 ECC + CT 加持版 OpenResty-米饭粑

ECC HTTPS OpenResty
0
安装并设置以 Unix Socket 运行的 Redis-Server
上一篇
Ubuntu 下 MariaDB 安装 TokuDB 并设为默认引擎
下一篇
评论 (0)
再想想
标签
Appnode Brotli CDN CentOS CentOS8 Debian DNS ECC ECS Ghost HTTP2 HTTPS IIS IPV6 Linux LiteSpeed MariaDB MySQL Nginx OLS OpenLiteSpeed OpenResty OSS PageSpeed PHP PHP7 QUIC Redis RHEL RHEL8 SSL TokuDB Ubuntu Windows Server 2016 Wordpress 云服务器 升级 域名 对象存储 微软 数据库 百度 笔记本 阿里云 阿里云ACP
文章归档
关注米饭粑微信公众号
相关文章
4月4日,全国哀悼,简单CSS代码将网站变成灰色
OLStack – v1.2.0 新增 ModSecurity 和 ACME 支持
使用如下姿势预防阿里云 CDN 产生天价账单
Ubuntu 20.04 & Ubuntu18.04 快速开启 TCP BBR 实现高效单边加速
关于

稻粢穱麦,挐黄梁些,折腾云计算的经验分享和总结。

菜单
首页 教程 好物 关于 链接 打赏
内页链接
米饭粑 米范导航
Copyright © 2011-2021 米饭粑. Designed by nicetheme. 浙ICP备15006212号-1
  • 首页
  • 教程
  • 好物
  • 关于
  • 链接
  • 打赏
热门搜索
  • 402
  • 113
  • 546
  • 548
  • 460
妙正灰
文科屌丝伪IT男一枚.
337 文章
385 评论
367 喜欢
  • 0
  • 0
  • Top