有免费的,也有付费的
ssl证书是免费的,申请渠道有:
1.宝塔,可以一键申请,自动配置,具体可以参考该文:
宝塔面板如何申请ssl证书?
宝塔面板申请ssl的方法:
1.打开宝塔管理面板。
2.点击左侧菜单栏的“网站”,打开网站管理页面。
3.点击需要进行设置ssl的网站名称,打开设置页面。
4.在对话框中点击左侧“ssl选项”。
5.进入SSL页面后即可进行申请ssl。
2.阿里:案例有20个免费申请ssl的权限,申请成功后,下载配置,具体和宝塔一样
如果不是用的宝塔怎么配置?新手不建议学,老手可以看,根据两种系统设置的:
的IIS:
步骤一:申请SSL证书
我们可以去阿里官网申请免费证书
申请成功SSL证书下载到电脑上。
步骤二:安装SSL证书
1,找到.pfx格式的证书文件
2,打开【开始】菜单,找到【管理工具】,打开【Internet信息服务(IIS)管理器】。
3,单击服务器名称。
4,在中间的菜单中,找到并双击【服务器证书】。
(1)在右侧菜单中选择【导入证书】。
(2)单击【浏览】并选择你的your_domain_文件。
(3)为证书指定一个好记的名字,存储选择【个人】。
(4)单击【确定】将证书安装到服务器。
步骤三:将SSL证书分配并绑定到您的网站
1,SSL证书成功安装到服务器后,你需要将SSL证书分配并绑定到你的网站。
2,在【Internet信息服务(IIS)管理器】的主窗口的【链接】菜单中,选择将要安装证书的服务器名称。
3,在【站点】中选择要使用的SSL证书的站点。
4,在右侧的【操作】菜单中,单击【绑定】。
5,在新打开的【站定绑定】窗口中,如果没有HTTPS绑定,请单击【添加】,如果已有HTTPS绑定,选中并单击【编辑】。
6,【类别】选择“HTTPS”。IP地址为【未分配】,端口为【443】,SSL证书处选择之前取好名称的证书。
7,单击【确定】。
8,现在你的SSL证书已经安装成功,并且配置到对应的网站,如果你还有更多的网站需要配置SSL证书,重复步骤即可。
的nginx配置:
完整的SSL证书分为四个部分:
CA根证书(root CA)
中级证书(Intermediate Certificate)
域名证书
证书密钥(仅由您持有)
以COMODO PositiveSSL证书为例,您将收到四份文件:
根证书–
中级证书–
中级证书–
您的域名证书–example_
您要依照域名证书->中间证书->根证书的顺序串联为证书链,才能被绝大多数浏览器信任。使用cat命令串联证书:
cat example_
得到example_后,和密钥文件example_一同上传至服务器并保存在安全的位置,例如/etc/ssl/private目录下(没有此目录请创建)。
修改NGINX站点配置
下面是一份针对较新版本的NGINX的SSL部分配置,请将其添加到站点配置文件中server的部分,并根据注释和您的需求修改。
复制代码
listen 443 ssl;#侦听端口
#listen[::]:443 ssl iPV6only=on;#如果您希望同时侦听IPV6,请取消此行注释
server_name 请改为您的域名
ssl_certificate/etc/ssl/private/example_证书链
ssl_certificate_key/etc/ssl/private/example_密钥
ssl_protocols TLSv1;#支持的协议,Windows XP不支持
ssl_prefer_server_ciphers on;#启用Forward Secrecy
ssl_ciphers"EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA!aNULL!eNULL!LOW!3DES!MD5!EXP!PSK!SRP!DSS!RC4";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
复制代码
如果您希望至少支持一些老式浏览器,并且在能够使用ECDHE时尽可能使用此算法,您可以使用下面的配置:
ssl_ciphers"EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4!aNULL!eNULL!LOW!3DES!MD5!EXP!PSK!SRP!DSS+RC4 RC4";
或者使用最简单的方案:
ssl_ciphers"EECDH+aRSA+AES";
生成DHE参数
为了避免使用OpenSSL默认的1024bit DHE参数,我们需要生成一份更强的参数文件:
cd/etc/ssl/certs
openssl dhparam-out 4096
建议您使用性能强劲的平台生成此文件,例如最新版的至强物理机。如果您只有一台小型VPS,请使用openssl dhparam-out 2048命令生成2048bit的参数文件。
完成后,在SSL配置下添加一行:
ssl_dhparam/etc/ssl/certs/
启用HSTS
HTTP Strict Transport Security(HSTS)可以使浏览器第一次访问您的站点后即记住仅通过HTTPS与您的站点通信,可以大大提升安全性。
在SSL配置下添加:
add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
强制定向到HTTPS
您需要一个单独server配置用于侦听HTTP 80端口,然后所有发送到这里的请求定向到HTTPS协议。
复制代码
server{
listen 80;
#listen[::]:80 ipv6only=on;#如果您需要同时侦听IPv6,请取消此行注释
server_name 您的域名
location/{
return 301 $request_uri;#要重定向的地址,请将改为您的域名
}
}
复制代码
或者使用rewrite:
rewrite^$request_uri?permanent;#请将改为您的域名
一份完整样例
这里是基于NGINX 的一份完整配置样例。请根据您的需求修改使用。
复制代码
server{
listen 80;
#listen[::]:80 ipv6only=on;
server_name
rewrite^$request_uri?permanent;
}
server{
listen 443 ssl;
#listen[::]:443 ssl ipv6only=on;
server_name
ssl on;
ssl_certificate/etc/ssl/private/www_example_
ssl_certificate_key/etc/ssl/private/www_example_
ssl_prefer_server_ciphers on;
ssl_dhparam/etc/ssl/certs/
ssl_protocols TLSv1
ssl_ciphers"EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA!aNULL!eNULL!LOW!3DES!MD5!EXP!PSK!SRP!DSS!RC4";
keepalive_timeout 70;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
root/var/www/
index
location/{
try_files$uri$uri//
}
}
ps:以上两个方法经过个人经验分析,操作无误,可执行,结果完美。
有免费的