zoukankan      html  css  js  c++  java
  • Nginx 配置https 证书的安装和nginx.conf 的配置

    在WEB 服务中,nginx经常作为web服务器接受client的请求,然后跟后端的tomcat交互。

    在通信协议里面可以配置http, 如果安全要求更高也可以配置https,,对于HTTP 和https协议的异同,可以看这里https://www.cnblogs.com/sucretan2010/p/11037497.html

    首先整个的配置可以分成2个部分,,1.证书的安装  2.nginx 的nginx.conf里面的配置

    1.证书

    通常证书都是向专业的机构申请,付费购买的。当然也可以自己,制作一个自制的证书,当然这样纯粹是为了自己学习,作为正式的WEB 系统是不可行的。

    ssl 证书,全称Secure socket layer,,通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议。

    通常申请好的正式机构分发的证书,会是下面的内容:

    证书certificate中包括含了数字签名和公钥, 客户端可以通过CA来验证数字签名.
    公钥/私钥用于数据加密, 公钥可以发布给任何人, 私钥必须保密

    1.证书文件通常以.cer, .crt结尾

    2.公钥文件通常以.pem结尾

    3.私钥文件通常以.key结尾

    加密系统加载这些文件时, 并不是以后缀名的区分. 而是根据里面的内容

     注意有一个 geotrust.txt 的文件

    .获取服务器证书文件 
    将证书签发邮件中的包含服务器证书代码的文本复制出来(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中。 
    为保障服务器证书在客户端的兼容性,服务器证书需要安装中级CA证书。 
    在服务器证书代码文本结尾,回车换行不留空行,粘贴证书签发邮件中的“以下是您的中级CA证书”部分里的第一段CA证书的内容(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”),每串证书代码之间均需要使用回车换行不留空行,修改文件扩展名,保存包含两段证书代码的文本文件为server.pem文件。

    2.安装服务器证书
    复制server.key、server.pem文件到Nginx安装目录下的conf目录。
    打开Nginx安装目录下conf目录中的nginx.conf文件 
    找到 
        # HTTPS server 
        # 
        #server { 
        #    listen       443; 
        #    server_name  localhost; 
        #    ssl                  on; 
        #    ssl_certificate      cert.pem; 
        #    ssl_certificate_key  cert.key; 
        #    ssl_session_timeout  5m; 
        #    ssl_protocols  SSLv2 SSLv3 TLSv1; 
        #    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        #    ssl_prefer_server_ciphers   on; 
        #    location / { 
        #        root   html; 
        #        index  index.html index.htm; 
        #    } 
        #} 
    将其修改为 
        server { 
            listen       443; 
            server_name  www.yourdomain.com; 
            ssl                  on; 
            ssl_certificate      server.pem; 
            ssl_certificate_key  server.key
            ssl_session_timeout  5m; 
            ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    #启用TLS1.1、TLS1.2要求OpenSSL1.0.1及以上版本,若您的OpenSSL版本低于要求,请使用 ssl_protocols TLSv1;
            ssl_ciphers  HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM; 
            ssl_prefer_server_ciphers   on; 
            location / { 
                root   html; 
                index  index.html index.htm; 
            } 
        } 
    保存退出,并重启Nginx。 
    通过https方式访问您的站点,测试站点证书的安装配置。

  • 相关阅读:
    安全实践鬼手诀 杂志
    Android 应用资源随笔
    Android 构架
    Andorid杂笔 深入理解Activity,Intenthe IntentFilter
    Android杂笔 事件处理
    创建9-Patch自定义伸缩图片
    重拾C之语句,操作符和表达式
    CSS float属性
    最近最少使用队列算法
    java常见面试题
  • 原文地址:https://www.cnblogs.com/sucretan2010/p/13206057.html
Copyright © 2011-2022 走看看