• NGINX之——配置HTTPS加密反向代理訪问–自签CA


    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46695495
    

    出于公司内部訪问考虑,採用的CA是本机Openssl自签名生成的,因此无法通过互联网工信Root CA验证,所以会出现该站点不受信任或安全证书无效的提示。直接跳过,直接訪问就可以!

    HTTPS的原理和訪问过程:

    server必要条件

    一个server私钥 KEY文件

    一张与server域名匹配的CA证书(公钥,依据私钥key生成)

    訪问过程:

    1,client浏览器通过https协议訪问server的443port,并获得server的证书(公钥);client浏览器这时候会去找一些互联网可信的RootCA(权威证书颁发机构)验证当前获取到的证书是否合法有效,PS:这些RootCA是随操作系统一起预设安装在了系统里面的;

    2,假设RootCA验证通过,表示该证书是可信的,而且若证书中标注的server名称与当前訪问的serverURL地址一致,就会直接使用该证书中包括的公钥解密server通过自己的KEY(私钥)加密后传输过来的网页内容,从而正常显示页面内容;

    3,假设RootCA验证不通过。说明该证书是未获得合法的RootCA签名和授权,因此也就无法证明当前所訪问的server的权威性,client浏览器这时候就会显示一个警告。提示用户当前訪问的server身份无法得到验证,询问用户是否继续浏览!(通常自签名的CA证书就是这样的情况)

    这里须要注意。验证CA的有效性。仅仅是证明当前server的身份是否合法有效。是否具有公信力以及身份唯一性,防止其它人仿冒该站点。但并不会影响到网页的加密功能,虽然CA证书无法得到权威证明。可是它所包括的公钥和server上用于加密页面的私钥依旧是匹配的一对,所以server用自己的私钥加密的网页内容,client浏览器依旧是能够用这张证书来解密,正常显示网页内容,所以当用户点击“继续浏览此站点(不推荐)”时。网页就能够打开了。

    自签名CA证书生成

    1、 用Openssl随机生成server密钥,和证书申请文件CSR

    2、自己给自己签发证书

    #opensslx509 -req -days 3650 -in moonfly.net.csr -signkeymoonfly.net.key -outmoonfly.net.crt 

    -days 3650    证书的有效期,自己给自己颁发证书,想有多久有效期,就弄多久,我一下弄了10年的有效期;

    -inmoonfly.net.csr指定CSR文件

    -signkeymoonfly.net.key指定server的私钥key文件

    -outmoonfly.net.crt  设置生成好的证书文件名称

    一条命令,自己给自己压钢印的身份证 moonfly.net.crt 就诞生了!

    注:事实上严格来讲,这里生成的仅仅是一张RootCA,并非严格意义上的server证书ServerCA,真正的ServerCA是须要利用这张RootCA再给server签署办法出来的证书才算;只是我们这里仅仅讲怎样实现网页的SSL加密。所以就直接使用RootCA了。也是能正常实现加密功能的。

    NGINX配置启用HTTPS并配置加密反向代理

    配置文件改动完成后,用nginx -t 測试下配置无误,就reload一下nginx服务。检查443port是否在监听:

    配置完成,https已经在工作了,如今能够通过https訪问站点了

  • 相关阅读:
    iOS开发应用设置及用户默认设置【2、读取应用中的设置】
    iOS开发应用设置及用户默认设置【1、bundle的运用】
    iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】
    iOS开发中的4种数据持久化方式【一、属性列表与归档解档】
    iOS开发编译报错、常见问题(实时更新)
    js window.location用法
    canvas 时钟
    java File处理
    servletjspEL 表达式
    Linux(centos 7)配置tomcat8、JDK1.8、lighttpd、ngnix、mysql
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/7128564.html
Copyright © 2020-2023  润新知