Openssl生成证书
安装openssl
创库目录存放证书
1 2
| mkdir /etc/nginx/cert cd /etc/nginx/cert
|
配置本地解析
1 2 3 4 5
| cat >>/etc/hosts << EOF 10.10.10.21 kubernetes-master.com EOF
10.10.10.21 主机ip、 kubernetes-master.com 本地解析域名
|
生成证书
方式一:
1、生成服务器私钥。
1
| openssl genrsa -out server.key 1024
|
2、根据服务器私钥文件生成证书请求文件,这个文件中会包含申请人的一些信息,所以执行下面这行命令过程中需要用户在命令行输入一些用户信息,随便填写,一路回车即可。
1
| openssl req -new -key server.key -out server.csr
|
3、生成CA机构的私钥,命令和生成服务器私钥一样,只不过这是CA的私钥
1
| openssl genrsa -out ca.key 1024
|
4、生成CA机构自己的证书申请文件
1
| openssl req -new -key ca.key -out ca.csr
|
5、生成自签名证书,CA机构用自己的私钥和证书申请文件生成自己签名的证书,俗称自签名证书,这里可以理解为根证书。
1
| openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
|
6、根据CA机构的自签名证书ca.crt或者叫根证书生、CA机构的私钥ca.key、服务器的证书申请文件server.csr生成服务端证书。
1
| openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
|
方式二:
上面的过程其实是模拟了各大https证书厂商生成https证书的过程,其中涉及到了根证书等等一些概念,如果你不是太明白也没有关系,我们还有B方案,我只想要证书,不想搞得太深,那么请使用如下方法,简便快捷。
只需要三步:
第一步,生成服务器私钥:
1
| openssl genrsa -out server.key 1024
|
第二步,根据私钥和输入的信息生成证书请求文件:
1
| openssl req -new -key server.key -out server.csr
|
第三步:用第一步的私钥和第二步的请求文件生成证书:
1
| openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
|
Nginx配置使用证书
安装Nginx
1 2 3 4
| yum -y install epel-release && yum -y install nginx
systemctl start nginx
|
配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| vim /etc/nginx/conf.d/open.conf
server { listen 443 ssl; server_name kubernetes-master.com; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_certificate /etc/nginx/cert/server.crt; ssl_certificate_key /etc/nginx/cert/server.key; access_log /var/log/nginx/vue.log; location / { proxy_pass http://10.10.10.21:30090/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } if ($server_port !~ 443){ rewrite ^(/.*)$ https://$host$1 permanent; } }
|
访问验证
Windows hosts文件配置
文件夹中搜索hosts 或者 C:\Windows\System32\drivers\etc
notepad++打开写入
1
| 10.10.10.21 kubernetes-master.com
|
浏览器打开 一定要加https