zoukankan      html  css  js  c++  java
  • 基于nginx结合SSL实现https加密

    实验环境:

    1.首先确保机器已安装nginx服务

    rpm -q nginx

     2.关闭防火墙及Linux安全机制

    systemctl stop firewalld.service

    iptables -F

    setenforce 0

    3.使用nginx -V命令查看nginx是否支持ssl

     查看 configure arguments 信息中是否包含 -with-http_ssl_module 字样,如果没有则需要重新编译安装。

    1)创建证书索引数据库文件

    touch /etc/pki/CA/index.txt    

    2)指定第一个颁发证书的序列号

    echo 01 > /etc/pki/CA/serial

    1)生成CA私钥

    cd /etc/pki/CA

    umask 066

    openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048

     

    2) 生成CA自签名证书

    openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem  (回到根目录下)

     -new: 生成新证书签署请求
    -x509: 专用于 CA 生成自签证书
    -key: 生成请求时用到的私钥文件
    -days n:证书的有效期限
    -out: 证书的保存路径
    输入命令后会提示输入国家,省,市,公司名称,部门名称,CA主机名(颁发者名称)等信息。

    *需要注意的是,此次书写的各个名称必须与下面的证书文件相同,避免证书无效

    颁发证书

    1)在根目录下创建一个名为key的目录

    mkdir key

    2)生成web服务器私钥

    cd key/

    umask 066

    openssl genrsa -out key/service.key 2048

    3) 生成CA证书申请文件

    openssl req -new -key service.key -out service.csr

     输入与之前相同的信息,密码可以不设置,其他必须相同!

     4)创建服务目录

    mkdir /etc/pki/CA/csr
    mv service.csr /etc/pki/CA/csr
    openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 365

     提示是否继续,输入y或yes都可以

     5)修改nginx配置文件

    vim /usr/local/nginx/conf/nginx.conf

    添加以下内容:

    server {
    listen 443 ssl;
    server_name nginx.nihao.com;

    ssl_certificate /etc/pki/CA/cacert.pem;
    ssl_certificate_key /etc/pki/CA/private/cakey.pem;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    location / {
    root html;
    index index.html index.htm;
    }

     添加完可以查看语法是否正确

    nginx -t 

    报错的话进入文件排查错误

     确认无误后,重启服务即可

    killall -HUP nginx

    在浏览器中进行测试

    须使用https进行测试

  • 相关阅读:
    代码中日志的使用
    MySQL数据库(3)----设置和使用自定义变量
    MySQL数据库(2)----检索信息
    MySQL数据库(1)----入门级操作
    Apache服务器运维笔记(6)----目录 文件 网络容器的安全问题
    Apache服务器运维笔记(5)----容器的处理顺序
    CentOS7 下安装 SublimeText3
    Apache服务器运维笔记(4)----服务器扩展部分
    Apache服务器运维笔记(3)----容器部分
    KMP算法的一个简单实现
  • 原文地址:https://www.cnblogs.com/990114-jhc/p/11549188.html
Copyright © 2011-2022 走看看