自签Nginx版SSL证书并使用(浏览器认为不安全)

说明:

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带证书的链接:

image.png

不过,由于是自签的SSL证书,浏览器当然是认为不安全的。

页面内容无所谓。

jiguiquan@163.com

文章作者信息...

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐