阿里云签发https证书踩坑记

先说一下坑:

  • 阿里云进入CA证书购买,找不免费版的CA证书

  • 配置完成后,原有的http无法访问

具体的安装步骤

阿里云购买免费版CA证书

阿里云签发https证书踩坑记_第1张图片

进入控制台,安全(云盾),CA证书服务,立即购买,选择专业版OV SSL、Symantec就会出来免费版。

购买了以后需要填写个人的审核信息,如果域名在自己的阿里云账号中,那审核会很快,如果在别的地方,需要进行域名授权验证,一般会选择DNS毕竟这样最快也很简单。直接点击提交审核会看到一个进度,进度里面有相关DNS的配置。

阿里云签发https证书踩坑记_第2张图片

审核通过后,去配置的时候需要根据自己的服务平台进行下载对应的证书

阿里云签发https证书踩坑记_第3张图片

配置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 {
        }
    }

好了,到这里所有的配置就完成了。希望可以帮助到大家!

文章转载自:码农启示录

你可能感兴趣的:(踩坑)