Openssl生成证书-nginx使用ssl

Openssl生成证书并用nginx使用

安装openssl

复制代码
yum install openssl -y

创库目录存放证书

复制代码
mkdir /etc/nginx/cert
cd /etc/nginx/cert

配置本地解析

复制代码
cat >>/etc/hosts << EOF
10.10.10.21  kubernetes-master.com
EOF

10.10.10.21 主机ip、 kubernetes-master.com 本地解析域名

生成证书

方式一:

1、生成服务器私钥。

javascript 复制代码
openssl genrsa -out server.key 1024

2、根据服务器私钥文件生成证书请求文件,这个文件中会包含申请人的一些信息,所以执行下面这行命令过程中需要用户在命令行输入一些用户信息,随便填写,一路回车即可。

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

3、生成CA机构的私钥,命令和生成服务器私钥一样,只不过这是CA的私钥

javascript 复制代码
openssl genrsa -out ca.key 1024

4、生成CA机构自己的证书申请文件

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

5、生成自签名证书,CA机构用自己的私钥和证书申请文件生成自己签名的证书,俗称自签名证书,这里可以理解为根证书。

javascript 复制代码
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

6、根据CA机构的自签名证书ca.crt或者叫根证书生、CA机构的私钥ca.key、服务器的证书申请文件server.csr生成服务端证书。

javascript 复制代码
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

方式二:

上面的过程其实是模拟了各大https证书厂商生成https证书的过程,其中涉及到了根证书等等一些概念,如果你不是太明白也没有关系,我们还有B方案,我只想要证书,不想搞得太深,那么请使用如下方法,简便快捷。

只需要三步:

第一步,生成服务器私钥:

javascript 复制代码
openssl genrsa -out server.key 1024

第二步,根据私钥和输入的信息生成证书请求文件:

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

第三步:用第一步的私钥和第二步的请求文件生成证书:

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

Nginx配置使用证书

安装Nginx

复制代码
yum -y install epel-release && yum -y install nginx

#启动nginx
systemctl  start  nginx

配置文件

复制代码
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++打开写入

复制代码
10.10.10.21 kubernetes-master.com

浏览器打开 一定要加https

复制代码
https://kubernetes-master.com/
相关推荐
SelectDB11 小时前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
ping某4 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智6 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_6 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化