nginx系列-05-基于openSSL配置HTTPS

来源:互联网 发布:布艺沙发品牌知乎 编辑:程序博客网 时间:2024/05/16 06:38

  • 说明
  • 创建私有CA私有CA生成自签署的证书
  • 为nginx配置SSL支持
    • 1 生成私钥
    • 2 生成证书颁发请求
    • 3 颁发证书
    • 4 nginx 配置
    • 5 访问

1 说明

此处介绍在CentOS6.8系统上,使用openSSL建立私有CA,并颁发证书,以配置 nginx 支持https。

2 创建私有CA(私有CA生成自签署的证书)

这部分的相关内容请看本人的另一篇文章
http://blog.csdn.net/hylexus/article/details/53058135
http://www.jianshu.com/p/7ad4846a2f38

或者此处用真正互联网通用的证书也是一样的。

3 为nginx配置SSL支持

# 此处在ssl目录下进行操作,位置按自己的需要吧[root@h1 ssl]# pwd/etc/nginx/ssl

3.1 生成私钥

[root@h1 ssl]# (umask 077;openssl genrsa -out nginx.key 1024)

3.2 生成证书颁发请求

# 按要求填写相关信息即可[root@h1 ssl]# openssl req -new -key nginx.key -out nginx.csr

3.3 颁发证书

此处使用私有CA颁发,并且本人的CA和httpd在同一台主机上。

# 由于此处CA和httpd在同一台主机上,所有直接将颁发的证书放置到了/etc/nginx/ssl/nginx.crt目录[root@h1 ssl]# openssl ca -in /etc/nginx/ssl/nginx.csr -out /etc/nginx/ssl/nginx.crt -days 365

3.4 nginx 配置

未启用https前的虚拟主机简单配置如下:

server{    listen  80;    server_name h3.hylexus.tech;    access_log  /logs/aaa.access.log;    location /{        index index.html;        root /web/html/h3.hylexus.tech;    }}

注意修改hosts文件,将域名加进去

[root@h1 conf.d]# cat /etc/hosts# ………………127.0.0.1       localhost.localdomain localhost h3.hylexus.tech192.168.161.128 h1 h3.hylexus.tech# ………………

先确保使用http协议能访问的虚拟主机之后再继续下文。

先用http协议访问 http://h3.hylexus.tech试试。成功后继续下文。

启用HTTPS

server{    # 同时支持http和https    listen  80;    listen  443 ssl;    server_name h3.hylexus.tech;    access_log  /logs/aaa.access.log;    keepalive_timeout   70;    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;    ssl_certificate     /etc/nginx/ssl/nginx.crt;    ssl_certificate_key /etc/nginx/ssl/nginx.key;    ssl_session_cache   shared:SSL:10m;    ssl_session_timeout 10m;    location /{        index index.html;        root /web/html/h3.hylexus.tech;    }}

3.5 访问

https://h3.hylexus.tech

记得修改hosts文件,因为这个域名纯粹是瞎编的……

当然浏览器会告警说证书来源不可信之类的,不告警才怪呢……除非你的证书是互联网通用的而不像我们这里自己给自己颁发的……

0 0
原创粉丝点击