资讯专栏INFORMATION COLUMN

https证书的配置

Barrior / 715人阅读

摘要:代码示例在配置如下信息生成的配置信息如下参考网站

转载请注明出处 http://www.paraller.com
原文排版地址 点击跳转

https证书的配置

生成Key文件

书申请者私钥文件,和证书里面的公钥配对使用,
在 HTTPS 『握手』通讯过程需要使用私钥去解密客戶端发來的经过证书公钥加密的随机数信息,是 HTTPS 加密通讯过程非常重要的文件,在配置 HTTPS 的時候要用到

生成CSR文件

CSR :Cerificate Signing Request,证书签署请求文件,里面包含申请者的 DN(Distinguished Name,标识名)和公钥信息,在第三方证书颁发机构签署证书的时候需要提供。
证书颁发机构拿到 CSR 后使用其根证书私钥对证书进行加密并生成 CRT 证书文件,里面包含证书加密信息以及申请者的 DN 及公钥信息

生成crt文件

前往亚狐的网站,查看证书信息,找到

SSL证书文件Server Certificate

中级证书文件Intermediate Certificate

根证书文件Root Certificate

复制在同一个文件中,以 domain.crt文件命名

扩展:

我们一般常见的证书链分为两种:

二级证书:直接由 受信任的根证书颁发机构 颁发的证书(CRT 文件),由于这种情况下一旦 Root CA 证书遭到破坏或者泄露,提供这个 Certificate Authority 的机构之前颁发的证书就全部失去安全性了,需要全部换掉,对这个 CA 也是毁灭性打击,现在主流的商业 CA 都提供三级证书。
三级证书:由 受信任的根证书颁发机构 下的 中级证书颁发机构 颁发的证书,这样 ROOT CA 就可以离线放在一个物理隔离的安全的地方,即使这个 CA 的中级证书被破坏或者泄露,虽然后果也很严重,但根证书还在,可以再生成一个中级证书重新颁发证书,而且这种情况对 HTTPS 的性能和证书安装过程也没有太大影响,这种方式也基本成为主流做法。

使用 OpenSSl命令可以在系统当前目录生成 example.key 和 example.csr 文件:

openssl req -new -newkey rsa:2048 -sha256 -nodes -out example_com.csr -keyout example_com.key -subj "/C=CN/ST=ShenZhen/L=ShenZhen/O=Example Inc./OU=Web Security/CN=example.com"

下面是上述命令相关字段含义:

C:Country ,单位所在国家,为两位数的国家缩写,如: CN 就是中国

ST 字段: State/Province ,单位所在州或省

L 字段: Locality ,单位所在城市 / 或县区

O 字段: Organization ,此网站的单位名称;

OU 字段: Organization Unit,下属部门名称;也常常用于显示其他证书相关信息,如证书类型,证书产品名称或身份验证类型或验证内容等;

CN 字段: Common Name ,网站的域名;

生成 csr 文件后,提供给 CA 机构,签署成功后,就会得到一個 example.crt 证书文件,SSL 证书文件获得后,就可以在 Nginx 配置文件里配置 HTTPS 了。

代码示例

在docker-compose.yml 配置如下信息:

nginx2:
  restart: always
  image: nginx:latest
  volumes:
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
    - /var/run/docker.sock:/tmp/docker.sock:ro
    - ./certs:/etc/nginx/certs
    - ./nginx:/etc/nginx/conf.d
  ports:
    - "127.0.0.1:8877:80"

生成的Nginx配置信息如下:

server {
        server_name www.paraller.com;
        listen 443 ssl http2 ;
        access_log /var/log/nginx/access.log vhost;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        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:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS";
        ssl_prefer_server_ciphers on;
        ssl_session_timeout 5m;
        ssl_session_cache shared:SSL:50m;
        ssl_session_tickets off;
        ssl_certificate /etc/nginx/certs/yeamoney.cn.crt;
        ssl_certificate_key /etc/nginx/certs/yeamoney.cn.key;
        add_header Strict-Transport-Security "max-age=31536000";
           location ^~ /socket.io/ {
        return 301;
    }
    location / {
                proxy_pass http://www.paraller.cn;
                proxy_connect_timeout 20;
                proxy_read_timeout 20;
                proxy_send_timeout 20;
                proxy_ignore_client_abort on;
        }
}

参考网站

https://aotu.io/notes/2016/08...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/11305.html

相关文章

  • 给网站配置免费HTTS证书

    摘要:最近看到网上说的网站会优先收录,所以就抽时间记录下配置博客的过程。使用证书作为博客的实现方式。内容格式对应证书内容后缀私钥格式对应证书内容后缀最后点击强制访问开启后用户的请求会强制跳转到协议进行访问。 最近看到网上说 https 的网站 Google 会优先收录,所以就抽时间记录下配置博客的过程。 ACME 使用 LetEncrypt 证书作为博客的 https 实现方式。 acme...

    Soarkey 评论0 收藏0
  • Nginx 配置 Https 免费证书访问

    摘要:我们以腾讯云为例子,申请证书。证书部分内容配置,注意证书路径写对,其他地方照抄就行了这一步把顶级域名转发到二级域名上,有利于第一个配置的是把普通端口访问的协议转发到访问。 配置HTTPS 现在做博客或者做网站没有 https 已经不行了,就记录一下我在腾讯云配置 https 的过程吧,非常简单,1个小时就可以了。 还涉及到 http 访问自动转发到 https 访问路径。同时把不带 w...

    Dongjie_Liu 评论0 收藏0
  • Nginx 配置 Https 免费证书访问

    摘要:我们以腾讯云为例子,申请证书。证书部分内容配置,注意证书路径写对,其他地方照抄就行了这一步把顶级域名转发到二级域名上,有利于第一个配置的是把普通端口访问的协议转发到访问。 配置HTTPS 现在做博客或者做网站没有 https 已经不行了,就记录一下我在腾讯云配置 https 的过程吧,非常简单,1个小时就可以了。 还涉及到 http 访问自动转发到 https 访问路径。同时把不带 w...

    刘厚水 评论0 收藏0
  • Nginx部署HTTPS服务过程与异常处理实践

    摘要:当点击检查配置之后,如果阿里云能够正常访问,则会在左侧给出提示,现在可以返回证书列表,在列表中可以看到当前状态为审核中,如下图审核因为不需要人为干预,所以很快就能下发证书,笔者下发证书的时间大约是分钟左右。 一、背景 笔者所在团队需要开发ios的APP,而apptstore应用商店审核需要应用使用https,所以需要配置https证书,笔者将此次配置的过程与遇到的一些问题记录下来,方便...

    Scliang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<