zoukankan      html  css  js  c++  java
  • 实现 nginx-https 访问得步骤过程

    自签证书生成脚本如下:

    #/bin/bash
    #生成3个证书(一个ca证书,两个服务器证书)
    . /etc/init.d/functions CERT_INFO=([00]="/O=KeYun/CN=ca.magedu.com" [01]="cakey.pem" [02]="cacert.pem" [03]=2048 [04]=3650 [05]=0 [10]="/C=CN/ST=YunNan/L=Kuming/O=KeYun/CN=www.magedu.org" [11]="master.key" [12]="master.crt" [13]=2048 [14]=365 [15]=1 [16]="master.csr" [20]="/C=CN/ST=YunNan/L=Kuming/O=KeYun/CN=m.magedu.org" [21]="slave.key" [22]="slave.crt" [23]=2048 [24]=365 [25]=2 [26]="slave.csr" ) COLOR="echo -e \E[1;32m" END="\E[0m" DIR=/apps/nginx/certs/ cd $DIR for i in {0..2};do if [ $i -eq 0 ] ;then openssl req -x509 -newkey rsa:${CERT_INFO[${i}3]} -subj ${CERT_INFO[${i}0]} -set_serial ${CERT_INFO[${i}5]} -keyout ${CERT_INFO[${i}1]} -nodes -days ${CERT_INFO[${i}4]} -out ${CERT_INFO[${i}2]} &>/dev/null else openssl req -newkey rsa:${CERT_INFO[${i}3]} -nodes -subj ${CERT_INFO[${i}0]} -keyout ${CERT_INFO[${i}1]} -out ${CERT_INFO[${i}6]} &>/dev/null openssl x509 -req -in ${CERT_INFO[${i}6]} -CA ${CERT_INFO[02]} -CAkey ${CERT_INFO[01]} -set_serial ${CERT_INFO[${i}5]} -days ${CERT_INFO[${i}4]} -out ${CERT_INFO[${i}2]} &>/dev/null fi $COLOR"**************************************生成证书信息**************************************"$END openssl x509 -in ${CERT_INFO[${i}2]} -noout -subject -dates -serial echo done chmod 600 *.key action "证书生成完成"

    nginx配置如下

    server {
      listen 80;
      listen 443 ssl;
      ssl_certificate /apps/nginx/certs/magedu.org.crt; 
      ssl_certificate_key /apps/nginx/certs/magedu.org.key; 
      ssl_session_cache shared:sslcache:20m;
      ssl_session_timeout 10m;
      ...
      }
    [root@centos8 certs]#bash /root/certificate.sh 
    **************************************生成证书信息**************************************
    subject=O = KeYun, CN = ca.magedu.com
    notBefore=Oct 13 07:07:01 2020 GMT
    notAfter=Oct 11 07:07:01 2030 GMT
    serial=00
    
    **************************************生成证书信息**************************************
    subject=C = CN, ST = YunNan, L = Kuming, O = KeYun, CN = www.magedu.org
    notBefore=Oct 13 07:07:01 2020 GMT
    notAfter=Oct 13 07:07:01 2021 GMT
    serial=01
    
    **************************************生成证书信息**************************************
    subject=C = CN, ST = YunNan, L = Kuming, O = KeYun, CN = m.magedu.org
    notBefore=Oct 13 07:07:01 2020 GMT
    notAfter=Oct 13 07:07:01 2021 GMT
    serial=02
    
    证书生成完成

    [root@centos8 certs]#ll
    total 32
    -rw-r--r-- 1 root root 1143 Oct 13 15:07 cacert.pem
    -rw------- 1 root root 1704 Oct 13 15:07 cakey.pem
    -rw-r--r-- 1 root root 1086 Oct 13 15:07 master.crt
    -rw-r--r-- 1 root root 985 Oct 13 15:07 master.csr
    -rw------- 1 root root 1704 Oct 13 15:07 master.key
    -rw-r--r-- 1 root root 1082 Oct 13 15:07 slave.crt
    -rw-r--r-- 1 root root 980 Oct 13 15:07 slave.csr
    -rw------- 1 root root 1704 Oct 13 15:07 slave.key

    #把CA证书和服务器证书合并成一个证书文件

    [root@centos8 certs]#cat cacert.pem master.crt > magedu.org.crt

    [root@centos8 certs]#mv master.key magedu.org.key

    执行报错如下:

     后来发现是在证书合并的时候CA证书和服务器证书,顺序不一样导致

    修正如下:

    [root@centos8 certs]#cat master.crt cacert.pem > magedu.org.crt

      [root@centos8 certs]#nginx -t
    nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /apps/nginx/conf/nginx.conf test is successful

     查看证书

  • 相关阅读:
    mysql 查询表结构
    微信网页分享 jssdk config:invalid signature 签名错误
    小程序ios开发注意点
    自己常用易忘的CSS样式
    好久好久没写,,百度API逆地址解析以及删除指定marker
    关于vue打包是因代码校验报错
    git命令行 整理(一位大神给我的私藏)
    百度地图IP定位,点击地图添加marker
    vue-百度地图-maker文字标签显示隐藏
    vue脚手架搭建项目引用百度地图--出坑
  • 原文地址:https://www.cnblogs.com/yds941268778/p/13809035.html
Copyright © 2011-2022 走看看