先说一下坑:
-
阿里云进入CA证书购买,找不免费版的CA证书
-
配置完成后,原有的http无法访问
具体的安装步骤
阿里云购买免费版CA证书
进入控制台,安全(云盾),CA证书服务,立即购买,选择专业版OV SSL、Symantec就会出来免费版。
购买了以后需要填写个人的审核信息,如果域名在自己的阿里云账号中,那审核会很快,如果在别的地方,需要进行域名授权验证,一般会选择DNS毕竟这样最快也很简单。直接点击提交审核会看到一个进度,进度里面有相关DNS的配置。
审核通过后,去配置的时候需要根据自己的服务平台进行下载对应的证书
配置nginx
我这里用的是nginx,所以直接下载nginx的证书。
证书下载到本地后,需要我们传到服务器,方法自查。我上传到服务器的路径是 /etc/nginx/cert/xx.pem /etc/nginx/cert/xx.key
阿里云提供的Nginx配置文件:
server {
listen 443;
server_name localhost;
ssl on;
root html;
index index.html index.htm;
ssl_certificate cert/214707095710832.pem;
ssl_certificate_key cert/214707095710832.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 / {
root html;
index index.html index.htm;
}
}
对应的配置到原有的配置文件中去,配置完成后发现https访问正常,但是http访问不了,会报一个400的错误。检查后发现,需要把 ssl on
这一块注释掉。
现在正常的配置文件:
server {
listen 80;
listen 443 ssl;
server_name 域名;
root 网站根目录;
# ssl on;
ssl_certificate /etc/nginx/cert/your.pem;
ssl_certificate_key /etc/nginx/cert/your.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;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
好了,到这里所有的配置就完成了。希望可以帮助到大家!