zoukankan      html  css  js  c++  java
  • 全站HTTPS简单实践

    第一个里程碑:创建https证书

     1 [root@web01 backup]#  openssl req -new -x509 -nodes -out server.crt -keyout server.key
     2 
     3 Generating a 2048 bit RSA private key
     4 ......................................................+++
     5 ...................................+++
     6 
     7 writing new private key to 'server.key'
     8 -----
     9 You are about to be asked to enter information that will be incorporated
    10 into your certificate request.
    11 What you are about to enter is what is called a Distinguished Name or a DN.
    12 There are quite a few fields but you can leave some blank
    13 For some fields there will be a default value,
    14 If you enter '.', the field will be left blank.
    15 -----
    16 Country Name (2 letter code) [XX]:CH        #国家名称  
    17 State or Province Name (full name) []:bj       #省  
    18 Locality Name (eg, city) [Default City]:bj     #市   
    19 Organization Name (eg, company) [Default Company Ltd]:ZNIX   #组织名称
    20 Organizational Unit Name (eg, section) []:ZNIX   #组织名称
    21 Common Name (eg, your name or your server's hostname) []:ZNIX  #服务器名称
    22 Email Address []:ADMIN@ZNIX.TOP    #邮箱

    查看产生的证书

    1 [root@web01 backup]# ls
    2 server.crt  server.key
    3 
    4 生成的密钥文件
    5 [root@web01 backup]# ll
    6 total 8
    7 -rw-r--r-- 1 root root 1375 Nov  6 14:07 server.crt
    8 -rw-r--r-- 1 root root 1704 Nov  6 14:07 server.key

    openssl参数说明

    参数

    参数说明

    req  

    PKCS#10 X.509 Certificate Signing Request (CSR)Management.

    PKCS#10 X.509证书签名请求(CSR)管理。

    x509

    X.509 Certificate Data Management. 

    X.509证书数据管理。

    第二个里程碑:修改nginx配置文件

     1 [root@web01 ~]# cat  /application/nginx/conf/extra/www.conf
     2 server {
     3     listen       443 ssl;
     4     server_name  www.nmtui.com;
     5     ssl_certificate      /application/nginx/key/server.crt;
     6     ssl_certificate_key  /application/nginx/key/server.key;
     7     ssl_session_cache    shared:SSL:1m;
     8     ssl_session_timeout  5m;
     9     ssl_ciphers  HIGH:!aNULL:!MD5;
    10     ssl_prefer_server_ciphers  on;    
    11 
    12     location / {
    13         root   html/www;
    14         index  index.php ;
    15     }
    16     location ~* .*.(php|php5)?$ {
    17                 root html/www;
    18                 fastcgi_pass  127.0.0.1:9000;
    19                 fastcgi_index index.php;
    20                 include fastcgi.conf;
    21     }
    22     access_log  logs/access_www.log  main;
    23 }

    模块参数说明

    模块名称

    说明

    ssl_prefer_server_ciphers

    指定在使用SSLv3和TLS协议时,服务器密码应优先于客户端密码。

    ssl_ciphers

    指定启用的密码。密码以OpenSSL库理解的格式指定

    ssl_session_timeout

    指定客户端可以重新使用会话参数的时间。

    ssl_session_cache

    设置存储会话参数的高速缓存的类型和大小。

    ssl_certificate

    指定file具有给定虚拟服务器的PEM格式的证书。如果除了主要证书之外还应该指定中间证书,则应该按照以下顺序在同一个文件中指定它们:主要证书首先是中间证书,然后是中间证书。PEM格式的密钥可以放在同一个文件中。

    ssl_certificate_key

    指定file给定虚拟服务器的PEM格式的秘密密钥。

    1.1.2 客户端访问

    1)浏览器访问https://www.nmtui.com 

     2)选择高级,继续前往www.nmtui.com(不安全)   由于ssl证书是自己生产的,会有这样的一个问题。

     3)网站访问正常。

       这种小绿锁的ssl,需要购买ssl证书。

     

  • 相关阅读:
    iOS image.size大小实际输出的值跟图片像素的关系
    iOS 记录蓝牙传输相关进制转换/字节转换/NSData转换/大小端转换
    Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[])
    ios-如何将UIColor RGB颜色转换为uint32_t值
    iOS 多国语言判断
    android 通过WIFI调试和adb指令推送文件到安卓设备
    iOS ViewController跳转界面的几种方法简单总结
    整理汇总能够提升文字工作效率的工具app分享给大家
    js 把字符串转换成数组,数组去重后再转成字符串
    我和朋友写的《Go语言从基础到中台微服务实战开发》已出版在京东,当当上可以购买了
  • 原文地址:https://www.cnblogs.com/clsn/p/7793682.html
Copyright © 2011-2022 走看看