网站首页技术博客

给项目添加ssl证书,http转https

洞天水月2021-04-30 17:28:53202人次阅读
摘要现在越来越多的项目需要用到https,尤其是在做小程序开发时。相比http,https有以下优势: 1、使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器; 2、HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。 3、HTTPS是现行架构下最安全的解决方案,虽然不

现在越来越多的项目需要用到https,尤其是在做小程序开发时。相比http,https有以下优势

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

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

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

 

那么如何将项目升级到https呢?

首先,我们需要下载域名的ssl证书,我这里用的阿里云的免费ssl,普通用户都可以免费申请20个证书

然后再阿里云后台进行证书的注册和签发,签发以后便可以将证书下载,根据你的服务器类型下载对应的版本,这里以nginx服务器为例。

第三步,上传sll证书到服务器,ssl证书下载解压后有两个文件,一个.key文件和一个pem文件,将这两个文件上传到你的服务器合适位置。

第四步,修改nginx配置文件,修改后的配置文件如下,主要修改监听端口,和添加ssl证书绑定。

server
{
	listen 80;
	#listen [::]:80;
	server_name www.phpblog.cn phpblog.cn;
	rewrite ^(.*)$ https://$host$1 permanent;
}


server
    {
        listen 443 ssl http2;
        #listen [::]:80;
        server_name www.phpblog.cn phpblog.cn;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /data/www/blog2021/public;

	ssl_certificate /usr/local/nginx/conf/cert/phpblog.cn/www.phpblog.cn.pem;
        ssl_certificate_key /usr/local/nginx/conf/cert/phpblog.cn/www.phpblog.cn.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        # ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;


        include rewrite/thinkphp.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php-pathinfo.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }
	 if ($host = phpblog.cn ){
            rewrite ^/(.*) http://www.phpblog.cn/$1 permanent;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/2021.phpblog.cn.log;
    }

 

文章评论