使用HTTPS访问我们的网站,不仅可以增加我们网站的安全性,更重要的是还能提升我们网站的逼格!我在为网站搭建SSL服务和CDN上有一些经验,在这里分享给大家,希望能帮到在这方面有需求的小伙伴吧!!!
第一步 购买SSL证书
打开 阿里云
> 产品与服务
> SSL证书
第二步 验证域名
购买成功后,需要验证我们域名,所以我们需要解析域名
- 记录类型:
TXT
- 主机记录:
hub
.fengwenyi.com - 记录值:
将表格中的记录值填写到这里
点击 保存
。
然后在验证域名那里点击 验证
第三步 下载证书
虽然域名验证通过,但是我们申请的证书还需要一段时间的审核。
这时候我们需要去下载证书。
第三步 配置
这里需要说明的是,我们是使用Nginx哦
所以,我们将下载的证书上传到服务器 .../nginx/config/cert
目录下
然后我们去配置 Nginx
。
- listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
- server_name hub.fengwenyi.com; # 域名,用于代替将要访问的端口号
- ssl_certificate cert/hub.fengwenyi.com.pem; #将domain name.pem替换成您证书的文件名。
- ssl_certificate_key cert/hub.fengwenyi.com.key; #将domain name.key替换成您证书的密钥文件名。
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
然后,我们将访问80端口的时候,也跳转到这里
- rewrite ^(.*)host$1 permanent; #将所有http请求通过rewrite重定向到https。
Nginx完整配置如下:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name hub.fengwenyi.com; #将localhost修改为您证书绑定的域名,例如:www.example.com。
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
location / {
proxy_pass http://localhost:5000/;
}
}
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name hub.fengwenyi.com; # 域名,用于代替将要访问的端口号
ssl_certificate cert/hub.fengwenyi.com.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/hub.fengwenyi.com.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:5000/;
}
}
}
重启 Nginx
./nginx -s reload
预览
等这些操作完,SSL证书差不多审核完成了。
话不多我们直接访问一下吧!