网站首页技术博客
给项目添加ssl证书,http转https
摘要现在越来越多的项目需要用到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;
}
上一篇:laydate组件增加自定义按钮
下一篇:apidoc自动化文档生成