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/
相关推荐
PinTrust SSL证书12 小时前
IP地址访问网站,怎么去除不安全提示?
网络协议·tcp/ip·安全·网络安全·https·ssl
鹿鸣天涯13 小时前
Xftp传输文件时,解决“无法显示远程文件夹”方法
运维·服务器·计算机
unDl IONA14 小时前
服务器部署,用 nginx 部署后页面刷新 404 问题,宝塔面板修改(修改 nginx.conf 配置文件)
运维·服务器·nginx
Web极客码14 小时前
WordPress管理员角色详解及注意事项
运维·服务器·wordpress
geinvse_seg14 小时前
中小团队如何低成本搭建项目管理系统?基于 Ubuntu 的 Dootask 私有化部署实战
linux·运维·ubuntu
星辰徐哥14 小时前
鸿蒙金融理财全栈项目——上线与运维、用户反馈、持续迭代优化
运维·金融·harmonyos
CSCN新手听安14 小时前
【linux】高级IO,以ET模式运行的epoll版本的TCP服务器实现reactor反应堆
linux·运维·服务器·c++·高级io·epoll·reactor反应堆
丶伯爵式14 小时前
Ubuntu 24.04 更换国内软件源指南 | 2026年3月26日
linux·运维·ubuntu·国内源·升级
xingyuzhisuan14 小时前
租用GPU服务器进行深度学习课程教学的实验环境搭建
运维·人工智能·深度学习·gpu算力
Java后端的Ai之路14 小时前
Linux端口进程查找与终止教程
linux·运维·服务器