因为https协议是以后必须用到的,所以先提前学习一下,因为是测试,所以用的自签名证书,
首先我们先下载OpenSSL ,下载地址
下载后我们得到了安装程序,安装在同路径后,就是这样子的
image-
注Windows10系统需要配置openssl环境变量,配置到bin目录:D:\OpenSSL-Win64\bin
-
然后我们进去OpenSSL-Win64\bin,就是进入bin里利用Dos窗口来运行我们后面要执行的命令
-
首先我们输入一行 openssl genrsa -des3 -out server.key 1024 这个是产生一个des3算法,1024 | 2048位强度的rsa私钥,bin文件夹里会产生一个名为server.key的秘钥文件。
-
然后它会要你为这个私钥提供一个最少4位数的密码,如下图:
image.png -
然后它要你再输入一次
image.png -
然后我们就可以开始生成csr文件,这个文件是生成证书的
-
先根据server.key生成csr,输入一行 openssl req -new -key server.key -out server.csr
image.png -
接着会要你输入密码
image.png -
输入密码后会出现下面这样
image.png -
输入国家,地区,城市,组织,组织单位,域名和邮箱。
image.png -
我这里省略了地区、城市、组织单位、和邮箱,只填了组织名称和域名如上图
-
当然你们也可以自己填比如下面举例这样
-
国家 CN
-
地区 Beijing(知名度高)
-
城市 Beijing(知名度高)
-
组织 chqhai(随便写的自己名字)
-
组织单位 info technology (信息技术)
-
域名跟邮箱,你们自己应该清楚吧,搞定后有需要你输密码:
image.png -
然后定义一个名称,我这里省略:
image.png -
去除使用私钥是的口令验证:openssl rsa -in server.key -out server_no_passwd.key
然后需要输入之前的密码,如下图:
image.png -
标记证书使用私钥和csr:openssl x509 -req -days 365 -in server.csr -signkey server_no_passwd.key -out server.crt
-
x509是一种证书格式
-
server.crt就是我们需要的证书
image.png -
至此证书配置就大功告成了。得到证书,总共有4个文件,server.key 是私钥,server_no_passwd.key是删除密码产生的,server.csr是用来生成证书的,server.crt
是安全证书.
image.png
接下来配置Nginx的Https Server
- ssl_certificate server.crt的地址;
- ssl_certificate_key server_no_passwd.key的地址;
#HTTPS server
server{
listen 443 ssl;
server_name www.huangyibo.com;
ssl on;
ssl_certificate D:\OpenSSL-Win64\bin\server.crt;
ssl_certificate_key D:\OpenSSL-Win64\bin\server_no_passwd.key;
location / {
proxy_pass http://tomcatserver;
}
}
image.png
-
upstream.conf配置
image.png
tomcat增加对https的支持:
Connector 8080节点加入 redirectPort="443" proxyPort="443"
redirectPort :当http请求有安全约束才会转到443端口使用ssl传输
image.png
- 到此,Https证书、Nginx和Tomcat的Https配置全部完成。但是这是自签名证书,浏览器是不识别的。
centos7安装openssl步骤
方法一、直接安装,通过yum install openssl-devel,自动解决依赖包安装
yum install openssl-devel
方法二、下载源码编译安装
- 首先到官网下载tar包:
https://www.openssl.org/source/
- 假设需要安装在服务器/usr/local/openssl目录,那么需要先创建该目录:
mkdir /usr/local/openssl
- 然后可以解包到该目录:
tar -zxvf ./openssl-1.1.0g.tar.gz -C /usr/local/openssl
- 切换到源码目录安装:
cd /usr/local/openssl/openssl-1.1.0g
./config -fPIC --prefix=/usr/local/openssl enable-shared
./config -t
make && make install
-
注意: config的时候,需要加上 -fPIC 和 -t,部分环境依赖一些头文件和lib(比如ruby)。
-
这里如果出现如下错误
make[1]: gcc: Command not found
image.png
-
保证系统网络畅通以后,执行命令 yum -y install gcc 安装GCC(注意,一定要忘了顺畅,不然安装不了)
-
然后安装安装 Openssl:make install
查看路径
which openssl
- 验证:
openssl version
或
openssl version -a
-
这里附上完整的操作图:
image.png
升级openssl环境至openssl-1.0.1g
- 查看源版本
[root@zj ~]# openssl version -a
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
- 下载openssl-1.0.1g.tar.gz
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
- 更新zlib
yum install -y zlib
- 解压安装
tar zxf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./config shared zlib
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
ldconfig -v
- 查看是否升级成功
[root@zj ~]# openssl version -a
OpenSSL 1.0.1g 7 Apr 2014
网友评论