前言
笔者在我的阿里云服务器上搭建了一个nextcloud网盘,所以需要网页访问,但是nextcloud网盘必须https访问,虽然麻烦,但也增加了一些安全性,其实操作熟练了也就半小时内能搞定了.
当然了,最重要的一点是我的服务器不在大陆,所以登一个网页不需要备案,最适合学习了.
添加二级域名
先进入阿里云的域名管理页面,你若没有购买域名是无法配置解析的,没买域名的先去买一个.
添加解析记录
写一个二级域名, 我这里是 pan.mydomainname.cn
申请免费ssl证书
进入阿里云的ssl证书购买页面,选择免费型
填写申请
这里最好是在阿里云购买的域名,可以直接选择自动DNS验证,阿里的系统会自动给你的域名添加一条TXT解析记录,如果不是在阿里云购买的域名,则选择手动DNS验证,然后自行去域名解析管理页面添加一条TXT记录
添加TXT记录
按照↑将TXT记录配置好之后就可以点击验证按钮,验证成功后5分钟就可以下载证书了!!
部署ssl证书
下载ssl证书
上传ssl证书
这里需要ssh连接云服务器,我推荐使用MobaXterm_Personal
你们如果有更好用的超级终端,留言推荐
将下载下来的压缩包解压,里面有2个文件*.pem *.key
上传到 /etc/nginx/cert 目录
将证书部署nginx
创建.conf文件
在conf.d目录下创建一个 *.conf结尾的文件
编辑文件
server {
server_name ##你的二级域名替代;
# https 设置,可以不写
listen 443 ssl http2; # managed by Certbot
ssl_certificate cert/2223214_##你的二级域名替代.pem;
ssl_certificate_key cert/2223214_##你的二级域名替代.key;
ssl on;
root html;
index index.html index.htm;
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;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains" always;
# 限制客户端最大上传大小
client_max_body_size 5G;
# 反向代理
location / {
root html;
index index.html index.htm;
proxy_redirect off;
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $http_host;
}
location = /.htaccess {
return 404;
}
}
server {
# 非加密连接重定向到 https 上
if ($host = ##你的二级域名替代) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name ##你的二级域名替代;
return 404; # managed by Certbot
}
可以基于我的文件模板修改为你自己的,保存退出!
重载nginx配置
执行重载命令
$ sudo nginx -s reload