摘要:总结各大服务商的证书安装方式
之前需要使用域名邮箱进行发送密钥操作,现在改版后直接在服务商可直接下载对应key
1、生成CSR
a、Plesk面板生成
b、第三方工具生成(这里推荐使用www.chinassl.net)会将对应的key与csr发送到对应的邮箱
3、获取crt
在服务商进行下载(Download Certificate),并解压获取对应文件
4、安装
a、Plesk面板安装
其中csr与key已经在面板中生成并自动保存此时需要填入证书 (*.crt) 、CA 证书 (*-ca.crt)
文件CACertificate-INTERMEDIATE-1.cer 对应的是CA 证书 (*-ca.crt)
文件ServerCertificate.cer 对应的是证书 (*.crt) 分别填入并保存,面板会做初步的校验,成功则通过
选择主机设置,勾选ssl支持,选择对应的证书,及安装完成
b、nginx服务器安装
需要使用My_CA_Bundle.ca-bundle 与 ServerCertificate.cer
新建 gsx.crt
执行命令
cat ServerCertificate.cer My_CA_Bundle.ca-bundle >> gsx.crt
此时crt已经创建成功并保存到gsx.crt中
新建 gsx.key
查找邮件中获取的key,并保存到gsx.key中
配置服务器
server
{
listen 443;
server_name doc.guosx.com;
ssl on;
ssl_certificate cert/doc.crt;
ssl_certificate_key cert/doc.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;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/showdoc;
include rewrite/thinkphp.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php-pathinfo.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log off;
}
server
{
listen 80;
#listen [::]:80;
server_name doc.guosx.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/showdoc;
rewrite ^(.*)$ https://doc.guosx.com$1 permanent;
include rewrite/thinkphp.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php-pathinfo.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log off;
}
重启服务器,检查网站完成ssl证书安装
c、Apache服务器安装
(注意需要添加对应的bundle文件,否则会报错在个别浏览器不可用)
参考:https://www.jianshu.com/p/583990bb92c6
检测工具:https://www.sslshopper.com/ssl-checker.html
使用openssl库进行操作
查看openssl库的版本信息
openssl version -a 可以显示版本号以及安装路径
将pem转换为crt文件
openssl x509 -outform der -in your-cert.pem -out your-cert.crt
将crt转换为pem文件
openssl x509 -in a.crt -out test.pem
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
这里利用了git bash来执行Openssl
1、创建对应的csr可key文件,为空即可
2、openssl req -new -nodes -newkey rsa:2048 -keyout test.key -out test.csr
进入配置流程,具体配置信息如下
字段 说明 示例
Country Name ISO国家代码(两位字符) CN
State or Province Name 所在省份 ShangHai
Locality Name 所在城市 ShangHai
Organization Name 公司名称 GuoShiXin
Organizational Unit Name 部门名称 IT
Common Name 申请SSL证书的域名 www.guosx.net
Email Address 不需要输入
A challenge password 不需要输入
个别比较严格的验证会需要放一个中间证书,一般这个正式会跟购买证书后一起发布过来
中间证书 在网站中最好使用crt,使用pem会有个别的验证不通过。
验证地址如下:
https://www.sslshopper.com/ssl-checker.html?