所需材料:
1、域名1个。
2、虚拟机或者云服务器1台。
3、ssl证书1个。
前提准备:
1、域名最好要备案,在国内使用比较方便。
2、阿里云的ECS。
3、ECS为Linux系统,安装的是AMH控制面板(如何安装amh控制面板:https://bbs.aliyun.com/read/143639.html)
4、阿里云可以免费申请ssl证书。
1.要申请SSL证书
免费证书,只能使用一个域名,不支持主域名下的二级域名,请悉知。不过1个阿里云帐号可以申请20个免费证书,对于普通账户足够了。
在阿里云里申请免费Https证书SSL
在阿里云控制台:安全(云盾)->证书服务->购买证书里(地址:https://common-buy.aliyun.com/?spm=5176.2020520163.cas.1.zTLyhO&commodityCode=cas#/buy) 选择免费的证书类型完成购买
免费购买完成后,在订单里不去信息,输入需要使用Https服务的详细子域名,填写个人信息
完成信息后,接下来就是等待审批结果了,审批通过后,下载,
根据自己服务器的实际情况 ,选择相应类型,完成安装,
注:默认的安装好的 Https 证书没有开启 TSL1.1 1.2的支持
解决方法一:
开发环境,项目---》勾选不校验即可
解决办法二:
在 PowerShell中运行以下内容, 然后重启服务器
# Enables TLS 1.2 on windows Server 2008 R2 and Windows 7
# These keys do not exist so they need to be created prior to setting values.
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"
# Enable TLS 1.2 for client and server SCHANNEL communications
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "Enabled" -value 1 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "DisabledByDefault" -value 0 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "Enabled" -value 1 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "DisabledByDefault" -value 0 -PropertyType "DWord"
# Disable SSL 2.0 (PCI Compliance)
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -name Enabled -value 0 -PropertyType "DWord"
# Enables TLS 1.2 on Windows Server 2008 R2 and Windows 7 # These keys do not exist so they need to be created prior to setting values. md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" # Enable TLS 1.2 for client and server SCHANNEL communications new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "Enabled" -value 1 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "DisabledByDefault" -value 0 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "Enabled" -value 1 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "DisabledByDefault" -value 0 -PropertyType "DWord" # Disable SSL 2.0 (PCI Compliance) md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -name Enabled -value 0 -PropertyType "DWord"
2.nginx或者tomcat上,开放443端口
ECS装的是AMH控制面板,所以下载的是nginx证书
下载的是一个安装包,解压即可
打开AMH控制面板,点击模块扩展里的下载模块,然后搜索SSL。如上图
然后点击下载、安装
点击这个BBShijieSSL,管理模块。选择对应的域名。将你刚下载,解压后的nginx证书,对应的文件,打开、复制、粘贴、保存
最后一步:如何让http强制跳转HTTPS上去
上面已经做到了https访问网站,但是如果访问http还是可以访问的,那么如何实现访问http时,自动跳转到https上去呢?且看下面的教程:
ftp打开如下地址
/usr/local/nginx/conf/vhost/
在上面的目录中,找到站点对应的.conf文件,然后编辑。
if ($server_port = 80) {
return 301 https://$server_name$request_uri;
}
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
error_page 497 https://$server_name$request_uri;
添加上面的脚本到文档中,如下图
做完上面这一步之后,再到AMH的控制面板首页,重启一下nginx,稍等片刻,重新加载浏览器试试看,是不是已经成功了?
用AMH操作就是这么简单,这也是我为什么推荐网友或新手站长用AMH建站的原因。