两台服务器

11.11.11.3     (生成证书然后到CA服务上注册)

11.11.11.4    (nginx服务、CA证书签发)

1、建立CA服务器(11.3)

  1. 、在CA上生成私钥文件 在/etc/pki/CA/private
  2. [root@ca]# cd /etc/pki/CA/
  3. [root@ca CA]# (umask ;openssl genrsa -out private/cakey.pem )
  4.  
  5. 、在CA上生成自签署证书 必须在/etc/pki/CA目录下
  6. [root@ca CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days
  7. -new 为生成新的证书,会要求用户填写相关的信息
  8. -x509 通常用于自签署证书,生成测试证书或用于CA自签署
  9. -key私钥位置
  10. -days申请的天数(默认30天)
  11. -out生成位置
  12.  
  13. Country Name ( letter code) [XX]:CN
  14. State or Province Name (full name) []:HeNan
  15. Locality Name (eg, city) [Default City]:Zhengzhou
  16. Organization Name (eg, company) [Default Company Ltd]:yanqi
  17. Organizational Unit Name (eg, section) []:system
  18. Common Name (eg, your name or your server's hostname) []:cahost.zzidc.com
  19. Email Address []:@qq.com

[root@ca CA]# touch index.txt
[root@ca CA]# echo 01 > serial

2、给http服务器发放证书

  1. [root@nginx ~]# mkdir /etc/nginx/ssl
  2. [root@nginx ~]# cd /etc/nginx/ssl/
  3. [root@nginx ssl]# (umask ; openssl genrsa -out nginx.key )
  4.  
  5. [root@nginx ssl]# openssl req -new -key nginx.key -out nginx.csr
  6. #信息跟CA上生成的保持一致
  7. Country Name ( letter code) [XX]:CN
  8. State or Province Name (full name) []:HeNan
  9. Locality Name (eg, city) [Default City]:Zhengzhou
  10. Organization Name (eg, company) [Default Company Ltd]:yanqi
  11. Organizational Unit Name (eg, section) []:system
  12. Common Name (eg, your name or your server's hostname) []:cahost.zzidc.com
  13. Email Address []:@qq.com
  14.  
  15. [root@nginx ssl]# scp nginx.csr 11.11.11.3:/tmp/

3、在CA上给http服务器签署证书

  1. [root@ca ~]# openssl ca -in /tmp/nginx.csr -out /etc/pki/CA/certs/nginx.crt -days
  2. Using configuration from /etc/pki/tls/openssl.cnf
  3. Check that the request matches the signature
  4. Signature ok
  5. Certificate Details:
  6. Serial Number: (0x1)
  7. Validity
  8. Not Before: Feb :: GMT
  9. Not After : Feb :: GMT
  10. Subject:
  11. countryName = CN
  12. stateOrProvinceName = HeNan
  13. organizationName = yanqi
  14. organizationalUnitName = system
  15. commonName = cahost.zzidc.com
  16. emailAddress = @qq.com
  17. X509v3 extensions:
  18. X509v3 Basic Constraints:
  19. CA:FALSE
  20. Netscape Comment:
  21. OpenSSL Generated Certificate
  22. X509v3 Subject Key Identifier:
  23. :4E:B6:B5:C2:B8:B8:3F:B4:E7::::D3:E8:3A::::
  24. X509v3 Authority Key Identifier:
  25. keyid:6B::D0:CD:C9:1A::7E:3B::EC:BE:6B:AB:E4::2C::2A:
  26.  
  27. Certificate is to be certified until Feb :: GMT ( days)
  28. Sign the certificate? [y/n]:y
  29.  
  30. out of certificate requests certified, commit? [y/n]y
  31. Write out database with new entries
  32. Data Base Updated
  33. [root@ca ~]#

4、生成完需要拷贝到http服务器上  也用scp命令

  1. [root@ca ~]# scp /etc/pki/CA/certs/nginx.crt 11.11.11.4:/etc/nginx/ssl

5、nginx配置

  1. [root@nginx ~]# vim /etc/nginx/conf.d/vhost_ssl.conf
  2. server {
  3. listen ssl;
  4. server_name cahost.zzidc.com;
  5. root /data/nginx/vhost1;
  6. access_log /var/log/nginx/vhost1_ssl_access.log main;
  7.  
  8. ssl on;
  9. ssl_certificate /etc/nginx/ssl/nginx.crt;
  10. ssl_certificate_key /etc/nginx/ssl/nginx.key;
  11. ssl_protocols sslv3 TLSv1 TLSv1. TLSv1.;
  12. ssl_session_cache shared:SSL:10m; #共享session内存空间为10M,1M的会话为4千;这个是4万
  13. ssl_session_timeout 10m;
  14. }
  15.  
  16. [root@nginx conf.d]# nginx -t
  17. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
  18. nginx: configuration file /etc/nginx/nginx.conf test is successful
  19.  
  20. [root@nginx conf.d]# service nginx restart
  21. Redirecting to /bin/systemctl restart nginx.service
  22.  
  23. [root@nginx conf.d]# netstat -luntp|grep
  24. tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx: mas

  1.  
  1.  

nginx ssl 自签证书实验的更多相关文章

  1. golang使用ssl自签证书通信

    证书是自签名生成的,另外lets encrypt证书免费发放,而且众多大厂都已经开始支持了,不过这只是个例子,无所谓验证有效和权威性了 服务器端 package main import ( " ...

  2. openssl实现CA自签证书和颁发数字证书

    1. 测试环境准备: CA签署服务器:192.168.2.181 WEB服务器:192.168.2.180 CA安装openssl  WEB服务器使用nginx 2. CA生成自签证书: 2.1 为C ...

  3. nginx ssl

    SSL 私钥/etc/pki/CA/ (umask 077;openssl genrsa -out private/cakey.pem 2048) 自签证书 openssl req -new -x50 ...

  4. Nginx SSL配置

    一.SSL 原理 ① 客户端( 浏览器 )发送一个 https 请求给服务器② 服务器要有一套证书,其实就是公钥和私钥,这套证书可以自己生成,也可以向组织申请,服务器会把公钥传输给客户端③ 客户端收到 ...

  5. Ubuntu 18.04使用OpenSSL自签证书(证书支持多IP及多域名,谷歌浏览器无警告)

    前言 在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,以保证网络传输过程中数据的机密性.HTTPS协议可以大致分为两个部分:其一是协商密钥,首先当Client向Web Serv ...

  6. nginx + SSL优化配置

    nginx + SSL优化配置: #http段添加如下配置项: http { ssl_prefer_server_ciphers on; #设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户 ...

  7. nginx - ssl 配置 - globelsign ssl

    前提: 3个文件 - domain.csr.domain.key.xxx.cer 简述: 1. 本地生成 .key文件  [附件] 2. 再利用key文件,生成csr(certificate Secu ...

  8. 0109 ubuntu nginx ssl

    1. sudo apt-get install openssl libssl-dev # ./configure --with-http_stub_status_module --with-http_ ...

  9. nginx+ssl 服务器 双向认证

    项目后台服务器采用nginx+tomcat 负载均衡架构  不久 访问协议有http升级为https 对服务器认证采用沃通的ssl证书 nginx ssl证书安装 参照沃通官方文档 他们有技术支持沟通 ...

随机推荐

  1. 原创python:windows解决genymotion appium adb 的问题。

    首先请安装好genymotion 与并用其下载好要用的安卓版本. (其中Oracle VM VirtualBox可以自己单独安装也可以在下载genymotion时选择包含vbox的) 参考https: ...

  2. byte数组转float 以及byte转其他类型时为什么要&0xff

    static final char[] HEX_CHARS = "0123456789abcdef".toCharArray(); //转换为十六进制 public static ...

  3. ABP默认生成数据库结构

    数据库设计文档 -- MyFirstABP 数据库设计文档 数据库名:MyFirstABP 序号 表名 说明 1 AbpFeatures   2 AbpEditions   3 AbpLanguage ...

  4. git在工作中的用法总结-环境安装篇

    使用git有很长一段时间了 ,平时用到的时候都是直接google,经常用到的一些也记录在笔记中,但有时候笔记太多,实在是太乱了(其实是我太懒~ 哈?),找都要半天的时候还不如直接google,今天有空 ...

  5. N最短路径分词

    N最短路径算法是一种基于词典的分词算法. 每个句子将生成一个有向无环图, 每个字作为图的一个定点, 边代表可能的分词. 在上图中, 边的起点为词的第一个字, 边的终点为词尾的下一个字. 边1表示&qu ...

  6. /proc文件系统(二):/proc/<pid>/stat

    0. 前言 /proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间. 它以文件系统的方式为内核与进程提供通信的接口.用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某 ...

  7. Linux C++开发学习(一)

    一.简单输出 简单的小程序 1.安装g++ sudo install g++ 2.编写c++程序,helloworld.cpp #include<iostream> using names ...

  8. The Most Simple Introduction to Hypothesis Testing

    https://www.youtube.com/watch?v=UApFKiK4Hi8

  9. Python全栈学习_day009知识点

    今日大纲: . 函数的初识 . 函数的返回值 . 函数的参数 1. 函数的初识 统计字符串s的总个数(不能用len) s='fkahfkahofijalkfkadhfkjadhf' count = f ...

  10. ajax请求完之前的loading加载

    很多时候我们需要引入框架来开发项目,这时我们可能会遇到页面还没加载完源码出来了的问题,给用户一种不好的视觉体验,这是便需要loading加载了,来完善用户体验! /*loading.js*/ // 加 ...