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方式访问您的站点,测试站点证书的安装配置。

原文地址:https://www.cnblogs.com/sucretan2010/p/13206057.html