http升级https

HTTP升级HTTPS配置了三次,我都流汗了

  • Windows配置HTTPS升级

    • 当前没有SSL安全证书,须要OpenSSL生成一个免费的证书
    • 在nginx的目录下建立ssl文件,用来存储证书
    • HTTPS升级须要的证书有crt(CA认证后的证书,Windows下是crt),key(证书使用秘钥),csr(证书的请求文件,申请证书的)linux

      • CA的crt生成:
      openssl req -new -x509 -key server.key -out ca.crt -days 3650
      • 建立私钥key:
      openssl genrsa -des3 -out server.key 2048   //当前输入的密码要记住,之后会用
      • 不管你用 DV 仍是 OV 生成私钥,都须要填写一些基本信息,这里咱们假设以下:
      • 域名,也称为 Common Name,由于特殊的证书不必定是域名:example.com
      • 组织或公司名字(Organization):Example, Inc.
      • 部门(Department):能够不填写,这里咱们写Web Security
      • 城市(City):Beijing
      • 省份(State / Province):Beijing
      • 国家(Country):CN
      • 加密强度:2048 位,若是你的机器性能强劲,也能够选择 4096 位
      • csr生成:
      openssl req -new -key server.key -out server.csr
      • crt生成
      openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
      • 证书合成
      cat server.key server.crt > server.pem
      • nginx配置
      listen       443 ssl;
      server_name    _;
       
      ssl_certificate      D:/nginx-1.5.11/ssl/lee.crt;
      ssl_certificate_key  D:/nginx-1.5.11/ssl/lee.key;
       
      ssl_session_cache    shared:SSL:1m;
      ssl_session_timeout  5m;
       
      ssl_ciphers  HIGH:!aNULL:!MD5;
      ssl_prefer_server_ciphers  on;
  • Linux配置HTTPS升级

    • 查看nginx是否在运行
    ps -ef|grep nginx
    • 启动nginx
    ./nginx -s reload   //(重启nginx须要切换到sbin目录)
    • 查看nginx是否支持ssl
    ./nginx -v
    //查看是否有‘-with-http-ssl-module’字段
    • 不支持,安装
    make && make install
    ./configure --prefix=/user/local/nginx --with-help_stub_status_module --with-help_ssl_module
    • 安装命令
    sudo apt-get install openssl
    • 复制文件,进入到当前文件目录
    sudo cp -v 源文件 ./
    • 删除文件
    rm
    //提示Permission denied,说明没有权限,使用sudo rm便可
    • 切换权限
    su -
    • linux发送get接口
    wget 接口
    • 编辑文件
    nano 文件目录
    Ctrl+c 保存
    y 退出

error处理nginx

  • 错误提示:(10060)The system cannot find the file specified安全

    • 缘由分析(一):服务器

      • 在网上查找,是由于nginx服务器上的启动操做形成的,由于我是在远程链接上启动的,或许会产生一个会话id,这个id应该是与服务器上启动的id不一致
    • 解决办法:session

      • 主要形成的缘由应该是在远程桌面上对nginx的启动和终止操做不正当,致使远程服务器不能正常结束特定进程
    • 缘由分析(二):(申请证书:jks文件,key文件,crt文件)性能

      • 多是证书信息不全面
    • 解决办法以下:测试

      //失败 
         ssl_certificates  jks;    
         ssl_certificates_key  key;     
         //通了,jks转pem,暂时没有复现崩溃的现象(能够解决火狐问题)
         ssl_certificates    .pem;
         ssl_certificates_key    .key;
         //通了,jks转pem,pem生成crt可key文件,出现崩溃的现象(没有解决火狐问题)
         ssl_certificates    .crt;
         ssl_certificates_key    .key;
         ssl_client_certificate  ca.crt;
         //通了,jks转pem,pem生成crt可key文件,bundle.crt和crt拼成new.crt,出现崩溃的现象(能够解决火狐问题)
         ssl_certificates    new.crt;
         ssl_certificates_key    .key;
         ssl_client_certificate  ca.crt;
    • 缘由分析(三):加密

      • 启动多个线程
    • 解决办法:线程

      • 关闭全部线程从新启动

      虽然网上有不少例子,多是本身的缘由,须要作好多操做,查询好多内容以后才将正式服务器和测试服务器的HTTPS升级完成,把个人点滴记录下来code

相关文章
相关标签/搜索