阅读 87

程序员必备知识——免费申请ssl证书神器

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

写在前面

话不多说,直切主题,本文将利用openssl开源神器,免费获得证书,让你的http也可以变成https访问。

前段时间搭建k8s推荐官方后台dashboard的时候遇到一个问题,那就是这个后台必须得是https访问,否则访问不进去。这可贼蛋疼,你一个小小的后台,还必须让我弄证书访问,大家要知道,https访问必须要求证书。

所以就想到了openSSL,这是个开源软件工具库,可以通过这个生成一套证书,然后通过nginx映射下。

image.png

一顿操作猛如虎

首先说明一点 本文是在linux环境下执行的。

1、创建服务器证书密钥文件 server.key

openssl genrsa -des3 -out server.key 2048
复制代码

如上:des3 是算法,2048位强度(为了保密性)。 server.key 是密钥文件名 -out的含义是:指生成文件的路径和名称。

如下图:

image.png

图中红色框中要求输入密码,必填,一会儿后面要用。

2、创建服务器证书的申请文件 server.csr

openssl req -new -key server.key -out server.csr
复制代码

会要求输入下面内容

image.png

输出内容为:

Enter pass phrase ``for root.key: 输入前面创建的密码

Country Name (``2 letter code) [AU]:CN   国家代号,中国输入CN

State or Province Name (full name) [Some-State]:BeiJing   省的全名,拼音

Locality Name (eg, city) []:BeiJing  市的全名,拼音

Organization Name (eg, company) [Internet Widgits Pty Ltd]:Yvioo  公司英文名(可以随便输入)

Organizational Unit Name (eg, section) []:  单位名 可以不输入

Common Name (eg, YOUR name) []: 输入你的名字

Email Address []:admin``@mycompany``.com  电子邮箱随便填

Please enter the following ‘extra’ attributes

to be sent with your certificate request

A challenge password []:  可以不输入

An optional company name []:   可以不输入

3、去除文件口令

openssl rsa -in server.key.org -out server.key
复制代码

image.png

会要求输入之前的密码 输入一开始的密码

4、生成证书文件server.crt

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
复制代码

image.png

最后得到如上图中三个文件(crt、csr、key)

OK,到这里利用openSSL生成证书步骤结束,是不是贼简单。接下来看nginx的配置

nginx配置证书

这个步骤应该很多人都了解,就是把证书位置配置上去,就OK了。

image.png


 server {
     listen   443 ssl;
     server_name  xx.xxx.xxx.xx;


     ssl_certificate    /etc/nginx/key/server.crt;
     ssl_certificate_key   /etc/nginx/key/server.key;


     ssl_session_cache    shared:SSL:1m;
     ssl_session_timeout  5m;

     ssl_ciphers  HIGH:!aNULL:!MD5;
     ssl_prefer_server_ciphers  on;

     location /kube/ {
           proxy_pass https://11.100.5.204:32001/;
     }

}
复制代码

接下来重启nginx,我们用https访问:

image.png

访问成功,这个是dashboard管理平台的登录界面

image.png

OK,今天的小知识点就讲到这里,我们下期再见

弦外之音

感谢你的阅读,如果你感觉学到了东西,麻烦您点赞,关注。也欢迎有问题我们下面评论交流

加油! 我们下期再见!

给大家分享几个我前面写的几篇骚操作

聊聊不一样的策略模式(值得收藏)

copy对象,这个操作有点骚!

文章分类
后端
文章标签