所需材料:
1、域名1个。
2、虚服务器1台。
3、ssl证书1个。
前提准备:
1、域名最好要备案,在国内使用比较方便。
2、我推荐阿里云的ECS。(可以先领取一个代金券,购买主机有优惠:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ffsbbyn0 。)
3、ECS为Linux系统,安装的是AMH控制面板(如何安装amh控制面板:https://bbs.aliyun.com/read/143639.html)
4、阿里云可以免费申请ssl证书。
操作步骤:
1、申请免费1年的ssl证书(传送门:https://common-buy.aliyun.com/?spm=5176.2020520163.cas.29.N0xOPM&commodityCode=cas#/buy)。免费证书,只能使用一个域名,不支持主域名下的二级域名,请悉知。不过1个阿里云帐号可以申请20个免费证书,对于普通账户足够了。
2、购买完成后,需要补全信息。搜ssl
2、购买完成后,需要补全
域名配置:

Apache服务器安装SSL证书

操作步骤
-
在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;
-
打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”。
-
打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile cert/a_public.crt
SSLCertificateKeyFile cert/a.key
SSLCertificateChainFile cert/a_chain.crt
Listen 443
<VirtualHost *:443>
DocumentRoot "C:xx"
ServerName www.xxx.com
ServerAlias xxx.com
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile "C:\phpStudy\Apache\cert\public.pem"
SSLCertificateKeyFile "C:\phpStudy\Apache\cert\1523954142398.key"
SSLCertificateChainFile "C:\phpStudy\Apache\cert\chain.pem"
<Directory "C:/phpstudy/WWW/jswei7/v35320170814">
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost> -
重启 Apache。






打开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,稍等片刻,重新加载浏览器试试看,是不是已经成功了?
https://bbs.aliyun.com/read/303413.html?spm=a2c4e.11153987.0.0.266a6026gY5TdR (原文)