说明:
openssl是一个强大的安全套接字密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其他目的使用。
openssl整个软件可以分为三个主要的功能部分:密码算法库、SSL协议库以及应用程序。
安装openssl有两种方式,第一种是下载源码,自己编译;第二种是装上安装包即可运行
一、通过openssl生成自签SSL证书:
1、安装 opensssl 和 openssl-devel:
# 安装 [root@master ~]# yum install openssl openssl-devel # 检查 [root@master ~]# openssl version -a OpenSSL 1.0.2k-fips 26 Jan 2017 built on: reproducible build, date unspecified platform: linux-x86_64 options: bn(64,64) md2(int) rc4(8x,char) des(idx,cisc,16,int) idea(int) blowfish(idx) compiler: gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM OPENSSLDIR: "/etc/pki/tls" engines: dynamic
2、生成CRT证书:
openssl req -new -x509 -nodes -days 3650 -out server.crt -keyout server.key -subj "/C=CN/ST=Shanghai/L=Shanghai/O=jgq/OU=jgq/CN=www.jgq.com"
其中req请求的个参数定义为:
-new 新生成 -out 生成的.crt文件位置 -keyout 私钥.key文件位置 -subj 生成CRT证书的参数
而subj——CRT证书的各字段具体定义为(如果不一次性带着,就需要交互式地一步步填写):
/C= Country 国家 CN /ST= State or Province 省 Shanghai /L= Location or City 城市 Shanghai /O= Organization 组织或企业 jgq /OU= Organization Unit 部门 jgq /CN= Common Name 域名或IP www.jgq.com
二、在nginx中使用上面生成的证书
1、部署个Nginx,略;
2、在 /etc/nginx/conf.d 目录下增加一组 server 配置即可:
[root@master conf.d]# pwd /etc/nginx/conf.d [root@master conf.d]# cat www.jgq.com.conf server { listen 443 ssl; server_name www.jgq.com; root /usr/share/nginx/html; index index.html; ssl_certificate /cert/server.crt; ssl_certificate_key /cert/server.key; location / { index index.html index.htm; } } server { listen 80; server_name www.jgq.com; rewrite ^(.*)$ https://$host:443$1 permanent; }
3、之后,我们在本地的host增加一条dns解析规则:
10.206.73.133 www.jgq.com
4、现在,在浏览器中打卡 http://www.jgq.com 会自动重定向到https带证书的链接:
不过,由于是自签的SSL证书,浏览器当然是认为不安全的。
页面内容无所谓。