正文

nginx配置网站https证书

nginx  html  https  ssl 

[前言]


Nginx作为一款高性能的HTTP和反向代理服务器,自然支持SSL/TLS加密通信,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,本教程主要介绍从服务器代理商下载https证书,部署到nginx的过程

[优点]


* 使用 HTTPS 协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

* HTTPS 协议是由 SSL HTTP构建的可进行加密传输、身份认证的网络协议,要比 HTTP安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性。

* HTTPS 是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本;

[缺点]


* 相同网络环境下,HTTPS 协议会使页面的加载时间延长近 50%,增加10%到20%的耗电。此外,HTTPS 协议还会影响缓存,增加数据开销和功耗

* HTTPS 协议的安全是有范围的,在黑客攻击、拒绝服务攻击和服务器劫持等方面几乎起不到什么作用,最关键的是,SSL证书的信用链体系并不安全。特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行;

* 成本增加。部署HTTPS后,因为HTTPS 协议的工作要增加额外的计算资源消耗,例如 SSL 协议加密算法和 SSL交互次数将占用一定的计算资源和服务器成本。在大规模用户访问应用的场景下,服务器需要频繁地做加密和解密操作,几乎每一个字节都需要做加解密,这就产生了服务器成本。随着云计算技术的发展,数据中心部署的服务器使用成本在规模增加后逐步下降,相对于用户访问的安全提升,其投入成本已经下降到可接受程度。

[过程]


1、登录服务器运营商后台,选择ssl证书申请,这里以阿里云为例

2、放置服务器任意目录,这里放置/etc/nginx/ssl目录

3、修改nginx配置,centos目录通常在/etc/nginx/nginx.conf

server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  hutc.top;
        root         /www/blog;

        # ssl文件所在目录
        ssl_certificate "/etc/nginx/ssl/hutc.top.pem";
        ssl_certificate_key "/etc/nginx/ssl/hutc.top.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            if (!-e $request_filename){
                rewrite ^/(.*) /index.php last;
            }
            index index.html index.php;
        }

        location ~ \.php$ {
            include fastcgi.conf;
            fastcgi_pass 127.0.0.1:9000;
            try_files $uri = 404;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

[参考]


下载链接

本站不直接提供下载,所有下载链接均为第三方

ssl证书部署指南

评论
还没有评论
留言