zoukankan      html  css  js  c++  java
  • 单台实现https

    单台实现https

    使用openssl命令充当CA权威机构创建证书(生产不使用此方式生成证书,不被互联网认可的黑户证书)

    # 检查有没有ssl模块
    [root@web03 ~]# nginx -V
    
    --with-http_ssl_module 
    
    # 创建证书和私钥存放地址
    [root@web03 ~]# mkdir /etc/nginx/ssl
    [root@web03 ~]# cd /etc/nginx/ssl
    [root@web03 ssl]# data +%Y%m%d%H%M%S
    -bash: data: command not found
    [root@web03 ssl]# date +%Y%m%d%H%M%S
    20200604112251
    [root@web03 ssl]#  openssl genrsa -idea -out $(date +%Y%m%d%H%M%S).key 2048
    Generating RSA private key, 2048 bit long modulus
    .........................................+++
    ...+++
    e is 65537 (0x10001)
    Enter pass phrase for 20200604112307.key:
    Verifying - Enter pass phrase for 20200604112307.key:
    [root@web03 ssl]# ll
    total 4
    -rw-r--r-- 1 root root 1739 Jun  4 11:23 20200604112307.key
    # 生成证书
    [root@web03 ssl]#  openssl req -days 36500 -x509 
    > -sha256 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/20200604112307.key -out /etc/nginx/ssl/20200604112307.crt
    Generating a 2048 bit RSA private key
    ..........................+++
    ...........................................+++
    writing new private key to '/etc/nginx/ssl/20200604112307.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:cn
    State or Province Name (full name) []:henan
    Locality Name (eg, city) [Default City]:puyang
    Organization Name (eg, company) [Default Company Ltd]:zaijia
    Organizational Unit Name (eg, section) []:wan
    Common Name (eg, your name or your server's hostname) []:wzh.com (这里要填写真实的域名)
    Email Address []:123@qq.com
    [root@web03 ssl]# ll
    total 8
    -rw-r--r-- 1 root root 1375 Jun  4 11:30 20200604112307.crt
    -rw-r--r-- 1 root root 1704 Jun  4 11:30 20200604112307.key
    
    # 命令参数
    # req  --> 用于创建新的证书
    # new  --> 表示创建的是新证书    
    # x509 --> 表示定义证书的格式为标准格式
    # key  --> 表示调用的私钥文件信息
    # out  --> 表示输出证书文件信息
    # days --> 表示证书的有效期
    
    
    
    # 编辑nginx配置文件
    [root@web03 nginx]# cat conf.d/blog.wzh.com.conf 
    server {
            listen 80;
            server_name hhh.wzh.com;
            return 302 https://$server_name$request_uri;
    }
    server {
    	listen 443 ssl;
    	server_name hhh.wzh.com;
    	ssl_certificate    /etc/nginx/ssl/20200604112307.crt;
            ssl_certificate_key /etc/nginx/ssl/20200604112307.key;
    
    	location / {
    		root /opt/wzh;
    		index index.html;
    	}
    }
    
    # 检测语法
    nginx -t
    # 重新加载
    systemctl reload nginx
    # 创建站点目录
    [root@web03 nginx]# mkdir /opt/wzh
    # 编辑nginx页面
    [root@web03 nginx]# cat /opt/wzh/index.html 
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>my website</title>
    </head>
    <body>
    <article>
      <header>
        <h1>被钓鱼网站</h1>
        <p>创建时间:<time pubdate="pubdate">2020/6/4</time></p>
      </header>
      <p>
        <b>标题:</b>啥也不是
      </p>
      <footer>
        <p><small>改着玩呗</small></p>
      </footer>
    </article>
    </body>
    </html>
    
    # 域名解析
    # 浏览器访问
    
    

  • 相关阅读:
    this指针详解
    C++处理异常
    C++中的this指针
    c++中的string类
    c面试题总结
    c++中的引用详解
    c++中的new和delete
    函数重载
    BST(二叉排序树)的插入与删除
    ccf行车路线
  • 原文地址:https://www.cnblogs.com/zabcd/p/13367467.html
Copyright © 2011-2022 走看看