Linux实战之SSL自签名证书
- Linux的openssl生成自签名证书
- 部署一个简单的tomcat服务
- 使用nginx代理实现ssl访问
1、Linux生成自签名证书
1.1、生成带密码的私有秘钥文件
- 使用带密码的私有秘钥文件时在祁东nginx时需要输入密码
[root@localhost ssl]# openssl genrsa -des3 -out server.key 2048

1.2、生成不带密码的私有秘钥文件
[root@localhost ssl]# openssl rsa -in server.key -out server.key

1.3、生成证书文件
[root@localhost ssl]# openssl req -new -x509 -key server.key -out server-ca.crt -days 3650

1.4、生成证书基本信息server.csr
[root@localhost ssl]# openssl req -new -key server.key -out server.csr

1.5、生成签名证书
[root@localhost ssl]# openssl x509 -req -days 3650 -in server.csr -CA server-ca.crt -CAkey server.key -CAcreateserial -out server.crt

1.6、生成pem格式证书(用于导入导出)
[root@localhost ssl]# openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

1.7、生成pfx证书
[root@localhost ssl]# cat server.crt server.key > server.pem

- nginx代理配置中只需用到自签名证书及不带密码的私有秘钥文件即可
2、部署启动一个tomcat服务
2.1、启动服务

2.2、查看是否启动

2.3、开放tomcat端口(8080)及Nginx代理服务的端口(80)
[root@localhost bin]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
[root@localhost bin]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@localhost bin]# firewall-cmd --reload

2.4、浏览器中访问tomcat

3、配置nginx代理
3.1、配置内容
server {
listen 80 ssl;
server_name localhost;
ssl_certificate /ssl/server.crt;
ssl_certificate_key /ssl/server.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://192.168.137.131:8080;
root html;
index index.html index.htm;
}
3.2、启动并检查nginx进程

3.3、浏览器中使用https访问测试
- 因使用的是自签名证书,访问的时候会提示不安全,高级中选择接收风险继续访问即可。
- 企业中一般使用的都是CA认证机构颁发的证书文件,因此不必担心此类问题。
