• Openssl生成证书-nginx使用ssl


    Openssl生成证书并用nginx使用

    安装openssl

    yum install openssl -y
    
    • 1

    创库目录存放证书

    mkdir /etc/nginx/cert
    cd /etc/nginx/cert
    
    • 1
    • 2

    配置本地解析

    cat >>/etc/hosts << EOF
    10.10.10.21  kubernetes-master.com
    EOF
    
    10.10.10.21 主机ip、 kubernetes-master.com 本地解析域名
    
    • 1
    • 2
    • 3
    • 4
    • 5

    生成证书

    方式一:

    1、生成服务器私钥。

    openssl genrsa -out server.key 1024
    
    • 1

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

    openssl req -new -key server.key -out server.csr
    
    • 1

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

    openssl genrsa -out ca.key 1024
    
    • 1

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

    openssl req -new -key ca.key -out ca.csr
    
    • 1

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

    openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
    
    • 1

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

    openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
    
    • 1

    方式二:

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

    只需要三步:

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

    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
    
    • 1

    Nginx配置使用证书

    安装Nginx

    yum -y install epel-release && yum -y install nginx
    
    #启动nginx
    systemctl  start  nginx
    
    • 1
    • 2
    • 3
    • 4

    配置文件

    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;
                             }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    访问验证

    Windows hosts文件配置

    文件夹中搜索hosts 或者 C:\Windows\System32\drivers\etc

    image-20231103103756565

    image-20231103103852474

    notepad++打开写入

    10.10.10.21 kubernetes-master.com
    
    • 1

    image-20231103104117252

    浏览器打开 一定要加https

    https://kubernetes-master.com/
    
    • 1

    image-20231103104325528

  • 相关阅读:
    自学(黑客技术)——网络安全高效学习方法
    2022爱分析· 中国云数据平台市场厂商评估报告:数新网络
    es6~ 常用语法总结
    uniapp——上传图片获取到file对象而非临时地址——基础积累
    快速掌握基本数据库查询语句,面试无烦恼!!
    vue路由传参刷新丢失
    ​力扣解法汇总808. 分汤
    如何进行iOS技术博客的备案?
    C#.Net筑基-集合知识全解
    软件 | 快速计算网络自然连通度评估群落稳定性
  • 原文地址:https://blog.csdn.net/m0_52369979/article/details/134198266