zoukankan      html  css  js  c++  java
  • nginx使用ssl模块配置HTTPS支持

      默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似libssl-dev。

    生成证书

    可以通过以下步骤生成一个简单的证书:
    首先,进入你想创建证书和私钥的目录,例如:

    1. $ cd /data

    创建服务器私钥,命令会让你输入一个口令:

    1. $ openssl genrsa -des3 -out server.key 1024

    创建签名请求的证书(CSR):

    1. $ openssl req -new -key server.key -out server.csr

    在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:

    1. $ cp server.key server.key.org
    2. $ openssl rsa -in server.key.org -out server.key

    配置nginx

    最后标记证书使用上述私钥和CSR:

    1. $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

    修改Nginx配置文件,让其包含新标记的证书和私钥:

    server {
            listen 443;
            server_name localhost;
    
            root html;
            index index.html index.htm;
    
            ssl on;
            ssl_certificate /data/server.crt;
            ssl_certificate_key /data/server.key;
    
            ssl_session_timeout 5m;
    
            ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
            ssl_prefer_server_ciphers on;
    
            location / {
                    try_files $uri $uri/ =404;
            }
    }

    重启nginx。

    这样就可以通过以下方式访问:

    https://YOUR_DOMAINNAME_HERE

    另外还可以加入如下代码实现80端口重定向到443

    server {
        listen 80;
        server_name ww.centos.bz;
        rewrite ^(.*) https://$server_name$1 permanent;
    }
  • 相关阅读:
    Pyramid of Glasses 酒杯金字塔 [CF-676B]
    BZOJ 2456mode
    Hamburgers [CF-371C]
    lowbit
    two point
    大O表示法的理解
    6. 第 6 章 队列
    5. 第 5 章 栈
    3. 第 3 章 向量
    10. 第 10 章 指针
  • 原文地址:https://www.cnblogs.com/phpfans/p/4793343.html
Copyright © 2011-2022 走看看