本文主要讲述如何在服务器上搭建https,主要用到的资源有阿里云的ECS服务器、域名,以及从腾讯云免费申请的SSL证书。阿里云的ECS服务器申请、域名的申请及备案不再多讲,已经很多教程了,下面主要讲如何从腾讯云免费申请的SSL证书,以及如何在阿里云配置域名解析,并使用Nginx实现https。
1、需要准备的资源
阿里云ECS服务器(本文使用的为Ubuntu 16.04)阿里云域名腾讯云免费申请的SSL证书Nginx
2、腾讯云免费申请的SSL证书
先申请腾讯云账号,已有则跳过进入控制台,进入SSL 证书,点击申请免费证书开始申请 证书申请页,填写相关信息后下一步 证书申请页,选择验证方式 申请成功后,查看证书详情 进入阿里云域名解析设置页,添加记录 添加完TXT记录后,等待腾讯云审核通过颁发证书,成功如下 下载证书并解压,目录结构如下,根据web服务器的不同选择即可
3、搭建HTTPS
使用apt-get安装nginx阿里云开通端口443和80修改nginx配置文件,如下
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
# SSL 访问端口号为 443
listen 443 ssl;
# 绑定证书的域名
server_name xxx.com;
# 证书文件路径
ssl_certificate /home/project/xxx/1_xxx.com_bundle.crt;
# 私钥文件路径
ssl_certificate_key /home/project/2_xxx.com.key;
ssl_session_timeout 5m;
# 请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
root /home/project/xxx/dist; # vue打包的dist目录
# 打开默认文件为index
index index.html index.htm;
# 官网介绍设置这条可以解决history路由的问题
location / {
try_files $uri $uri/ /index.html;
}
}
server {
listen 80;
# 绑定证书的域名
server_name xxx.com;
# 把http的域名请求转成https
return 301 https://$host$request_uri;
}
}
使用域名访问https://xxx.com,如图示出现小锁即为成功
|