zoukankan      html  css  js  c++  java
  • nginx实现https访问(自建证书及认证证书)

    注意!!首先在nginx安装时添加--with-http_ssl_module模块,否则将会报错,只能从头开始了

    自建证书:

    通过openssl命令(软件包:openssl ;openssl-devel

    1)创建私钥:

    openssl genrsa -out server.key 1024

    2)证书请求:

    openssl req -new -out server.csr -key server.key       //填写信息,注意!!将Common Name (eg, your name or your server's hostname行填写成服务器的IP地址)

    3)自签署证书:

    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

    4)将证书变成浏览器支持的.p12格式

    openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12

    修改nginx配置文件

    server {
    listen 80;

    listen 443 default ssl;  //这样可以设置一个虚拟主机同时支持HTTP和HTTPS

    server_name localhost;  //由于我是根据IP访问,所以这里不做修改

    ssl_certificate /root/server.crt;  //指定证书文件
    ssl_certificate_key /root/server.key;  //指定密钥文件

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
    ssl_protocols SSLv2 SSLv3 TLSv1;  //指定密码为openssl支持的格式

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

      location {

        略

      }

    }

    将自建证书加入到浏览器中(以Chrome为例)

    路径:设置-设置-设置-高级-隐私设置和安全性-管理证书-导入

    注意,这时候可能还会提示安全问题,点击 高级,选择继续即可进入

      补充:由于创建私钥后,每次开启nginx都需输入密码,用以下命令即可无需输入

     1 cp server.key server.key.org

    2 openssl rsa -in server.key.org -out server.key 

  • 相关阅读:
    神经网络 初步
    SVM整理
    碎碎念
    random note
    2015阿里实习内推一轮被拒
    django开发框架-view & template
    一点思考
    dive into python 读笔(3)
    dive into python 读笔(2)
    dive into python 读笔(1)
  • 原文地址:https://www.cnblogs.com/yuan9910/p/11529878.html
Copyright © 2011-2022 走看看