如何为你的网站部署SSL证书
为了推动更安全的HTTPS加密协议普及全网,谷歌Chrome从2017年开始逐步对HTTP网站标记不安全警告,并提示你与此网站之间建立的连接不安全。在Chrome68版本中,对所有HTTP网站标记不安全,帮助用户了解与网站之间的连接何时不安全,同时激励网站所有者提高其网站的安全性。
此外,某些版本的chrome还结合一组互补字符串使用,让用户更容易理解安全标识的含义。对于有效HTTPS:显示secure和https,配合绿色安全锁对于HTTP:显示http和sitenotsecure,配合黑色圆圈对于无效HTTPS:显示notsecureandsitenotsecure,配合红色三角警告
对于一些个人博客来说,虽然不存在注册、交易等可能泄露个人隐私信息的情况,但是也建议为网站申请和部署SSL证书(免费的即可),毕竟即使是不安全提示也会吓退一部分用户。
本文记录一下如何在阿里云服务器上部署SSL证书,希望对您有所帮助。
首先访问阿里云SSL证书免费证书(证书申请请参考:如何申请阿里云SSL证书?),根据你的web服务器类型,下载对应的证书。我选择的是Apache服务器,这里需要根据实际情况进行选择。
证书由3个文件组成,分别为:证书文件:以xxxpublic。crt为后缀或文件类型。证书链文件:以xxxchain。crt为后缀或文件类型。密钥文件:以xxx。key为后缀或文件类型。
证书下载完成之后,就可以开始部署SSL证书了。开放端口443
由于HTTPS使用443端口,因此首先需要配置一下阿里云安全组的访问规则,放开443端口。
配置入口:https:ecs。console。aliyun。comserverij6cagiqhn4rzss2r6jjjgroupgroup?regionIdcnhongkong
最简单的方法就是复制一下80端口的规则,然后将端口号改为443即可。
安装modssl
对于CentOS7请使用yum命令安装modssl模块,如果系统为CentOS8RockyLinux8AlmaLinux8等,可以使用dnf命令。安装modssl模块yumyinstallmodssl为了使能modssl,需要重新启动Apachesystemctlrestarthttpd使用httpd或者apachectl检查是否使能了modssl,如果输出sslmodule(shared),那么配置成功。httpdMgrepsslapachectlMgrepsslsslmodule(shared)
输入httpdS可以看到Apache当前的配置信息(当前仅显示虚拟主机设置)
其中:443localhost(etchttpdconf。dssl。conf:40)表示当前已经在localhost监听443端口。httpdSVirtualHostconfiguration::80isaNameVirtualHostdefaultserverdomain1。com(etchttpdconf。ddomain1。com。conf:1)port80namevhostdomain1。com(etchttpdconf。ddomain1。com。conf:1)aliaswww。domain1。comport80namevhostdomain2。com(etchttpdconf。ddomain1。com。conf:17)aliaswww。domain2。com:443localhost(etchttpdconf。dssl。conf:40)ServerRoot:etchttpdMainDocumentRoot:varwwwhtmlMainErrorLog:etchttpdlogserrorlogMutexluaivmshm:usingdefaultsMutexsslstapling:usingdefaultsMutexproxy:usingdefaultsMutexauthnsocache:usingdefaultsMutexsslcache:usingdefaultsMutexdefault:diretchttpdrunmechanismdefaultMutexcachesocache:usingdefaultsMutexauthdigestopaque:usingdefaultsMutexwatchdogcallback:usingdefaultsMutexproxybalancershm:usingdefaultsMutexrewritemap:usingdefaultsMutexsslstaplingrefresh:usingdefaultsMutexauthdigestclient:usingdefaultsPidFile:etchttpdrunhttpd。pidDefine:DUMPVHOSTSDefine:DUMPRUNCFGUser:nameapacheid48Group:nameapacheid48
modssl配置文件位于下面两个文件中:etchttpdconf。dssl。confetchttpdconf。modules。d00ssl。conf
其中00ssl。conf的内容只有一行,表示加载modssl模块:LoadModulesslmodulemodulesmodssl。so
ssl。conf则是SSL配置文件拷贝证书
将证书拷贝到服务器上的Apache安装目录中,对于YUM安装的Apache来说,安装目录位于:etchttp。我们创建一个cert目录(目录名称随意)专门用来存放证书。
根据〔https:serverfault。comquestions216477whatshouldbethepermissionsofapachessldirectorycertificateandkey〕:cert目录和证书文件的属主应该为root(root)。cert目录的权限应该设置为700,证书文件的权限应该设置为600。
之所以需要写权限是为了定期更新证书。如果手动更新的话,目录权限可以设置为500,证书权限可以设置为400。chownRroot:rootetchttpdcertmkdiretchttpdcertchmod700etchttpdcert配置SSL证书
在etchttpdconf。modules。d00ssl。conf文件(也可以在etchttpdconf。dssl。conf文件或者创建一个新的。conf文件)中添加以下内容:
注意:如果证书包含多个域名,复制。。。,并将ServerName修改为其它域名。LoadModulesslmodulemodulesmodssl。soVirtualHost:443ServerNamewww。haitaolab。comDocumentRootvarwwwhtmlSSLEngineonSSLProtocolallSSLv2SSLv3SSLCipherSuiteHIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:MEDIUMSSLHonorCipherOrderonSSLCertificateFileetchttpdcert7772727www。haitaolab。compublic。crtSSLCertificateKeyFileetchttpdcert7772727www。haitaolab。com。keySSLCertificateChainFileetchttpdcert7772727www。haitaolab。comchain。crtVirtualHostVirtualHost:443ServerNamehaitaolab。comDocumentRootvarwwwhtmlSSLEngineonSSLProtocolallSSLv2SSLv3SSLCipherSuiteHIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:MEDIUMSSLHonorCipherOrderonSSLCertificateFileetchttpdcert7772727www。haitaolab。compublic。crtSSLCertificateKeyFileetchttpdcert7772727www。haitaolab。com。keySSLCertificateChainFileetchttpdcert7772727www。haitaolab。comchain。crtVirtualHost
此时如果访问https:haitaolab。com的话,应该可以正常访问,并且带有一把小锁。
在〔https:www。digitalocean。comcommunityquestionsapachenonwwwtowwwhttpssecureandletsencrypt〕中还介绍了一种方法,IfModulemodssl。cVirtualHost:443ServerAdminadmindomain。co。ukServerNamewww。domain。co。ukServerAliasdomain。co。ukDocumentRootvarwwwhtmldomainDirectoryvarwwwhtmldomainOptionsFollowSymLinksAllowOverrideAllRequireallgrantedDirectoryRedirectnonwwwtowwwRewriteEngineOnRewriteCond{HTTPHOST}!www。〔NC〕RewriteRule(。)https:www。{HTTPHOST}{REQUESTURI}〔R301,L〕ErrorLog{APACHELOGDIR}error。logCustomLog{APACHELOGDIR}access。logcombinedIncludeetcletsencryptoptionssslapache。confSSLCertificateFileetcletsencryptlivedomain。co。ukfullchain。pemSSLCertificateKeyFileetcletsencryptlivedomain。co。ukprivkey。pemVirtualHostIfModule
下一步就是将http链接的访问永久重定向到https链接。执行301永久重定向
重定向有两种方法:服务器虚拟主机配置文件。htaccess文件
(1)服务器虚拟主机配置文件
老外的大多数教程都使用了下面这种方法,即在主配置文件添加下面的配置sudovietchttpdconfhttpd。confVirtualHost:80ServerNamewww。example。comRedirecthttps:www。example。comVirtualHost
不过,我觉得单独创建一个配置文件更好一些,例如在httpdconf。d目录中创建一个haitaolab。conf配置文件,内容为:VirtualHost:80ServerNamewww。haitaolab。comRedirectpermanenthttps:www。haitaolab。comVirtualHost
注意:permanent的意思是301永久重定向。
(2)。htaccess
也可以通过在。htaccess文件中添加规则进行重定向,这种方法需要使能enable读取。htaccess文件,Apache默认是禁止的。
这是因为考虑到安全性,强烈建议将根目录的AllowOverride属性设置为OverrideNone。DirectoryvarwwwhtmlAllowOverridecontrolswhatdirectivesmaybeplacedin。htaccessfiles。ItcanbeAll,None,oranycombinationofthekeywords:OptionsFileInfoAuthConfigLimitAllowOverrideNoneDirectory
如果允许。htaccess文件,那么可以这样配置重定向RewriteEngineOnRewriteCond{HTTPS}offRewriteRule(。)https:example。com1〔L,R301〕
也有这种写法RewriteEngineOnRewriteCond{HTTPS}!onRewriteRule?(。)https:{SERVERNAME}1〔R,L〕
Apache配置文件检测检查配置文件是否合法apachectlconfigtest重新加载配置文件systemctlreloadhttpd
更多介绍请参考:https:www。cyberciti。bizfaqapache2reloadhttpdconfigfileunixlinuxcommandSSL证书检测
https:www。ssllabs。comssltest
https:www。thesslstore。comssltoolssslchecker。phpresults
参考https:help。aliyun。comdocumentdetail98727。htmlhttps:linuxconfig。orghowtoinstallmodsslonredhat8https:www。ssldragon。combloghowtoinstallansslcertificateonapachehttps:www。thesslstore。comssltoolssslchecker。phphttps:hrefgo。comblogredirecthttptohttpsE5A682E4BD95E59CA8ApacheE4B8ADE8BF9BE8A18CHTTPE9878DE5AE9AE59091https:hbayraktar。medium。comhowtoinstallsslcertificateonapacheforcentos738c25b84d8b1https:developers。google。comsearchdocsadvancedcrawling301redirects?hlzhcnpermanentserversideredirectshttps:www。namecheap。comsupportknowledgebasearticle。aspx1031333sslcertificateinstallationonhttpdcentoshttps:www。cnblogs。comkevingracep9565123。htmlhttps:www。digitalocean。comcommunitytutorialshowtocreateansslcertificateonapacheforcentos7
父母离婚,对孩子的心理影响有多大?我是余柳,国家二级咨询师华大应用心理研究院咨询师回答这个问题前,先让我们来看个图图片来自米勒所著的亲密关系,虽然这样的统计不能表示全部,但是仍旧很能说明问题。从中我们可以看出,如何
在事业单位技术岗55岁退休还需申请吗?我是高校,是事业单位。男性都是60岁退休,55岁申请也不能办理,55岁只针对女性职工,对于女性退休的规定是这样的一副高以下职称或副处以下级别对于副高职称副处级别以下女性职工,55岁
有些男人总是在外人面前贬低自己的女人是什么心理?肯定是又自卑,又彷徨!我们公司有一个包公头,他非要在人面前说起他的往事。他这个爆发户发财娶妻的过程。牛总1970年的,他说年轻的时候在村里开拖拉机的。家里很穷,娶不上媳妇。他比较圆
得了慢性病没有有效地治愈方式,要终身治疗,今后人生要如何面对?不知道你所说的慢性病是指哪方面?有的慢性病,比如高血压糖尿病或者高血脂,需要终身服药,控制得好,跟平常人一样,可以长寿。有的慢性病,比如尿毒症,需要通过血液透析治疗来维持生命。现在
透支的肾该怎么补回来?对于男人来说,最无法接受的恐怕就是不行了!不管你多有钱多有势,要是让女人觉得你不行了!这一生算是废了大半了!很多人只知道肾虚早泄了要补肾,却不懂到底如何补肾。一顿乱吃了各种各样的产
什么炒股软件比较好用?花钱买各种VIP炒股软件,绝大多数都是交智商税。炒股软件本身,对于炒股的影响,其实很小。平时用得最多的是10JQKA,就是同花顺,还是免费版。以前觉得level2有用,还开通过机构
什么是区块链?它是建立信任的机器。区块链是一个开放的网络账本,起源于比特币,它是比特币的底层技术。在比特币的交易中,比特币的交易的全部信息被打包到一个区块中进行存储,随着信息交流的扩大,一个个的
七年级数学绝对值一节很难理解,但考试时又常出考题,怎么做才能学好?绝对值是有理数学习的重点和难点,在考试中经常会涉及到一些难度比较大的题目,经常会与数轴结合考查,运用到数形结合思想和分类讨论思想。为了更好地学习理解和掌握绝对值,应该从以下几方面的
怎样才能做好卤菜生意?卤菜生意要做好,首先是货真价实,口味大众化。如果你就此做品牌做百年老店,店面和推广是第二位的。在这里分享如何才能做到货真价实口味大众货。1肉类为例。全部选用排酸肉,不管是猪肉或牛肉
一级晋升副处四级需要几年?作为了解晋升体系的人,我来回答一下。按照现有公务员法规定,综合管理类公务员实行职级并行的制度。其中职级分为四等十二级,分别为一二级巡视员,一到四级调研员,一到四级主任科员,一二级科
哈尔滨有哪些深藏不露的餐馆?哈尔滨确实有几家深藏不露的餐厅,很低调,给大家推荐几家1羊顺斋,地址丰润街74号。一家吃了好多年的涮肉店。肉,均为当天肉,新鲜。店里羊肉均为羊腿肉,味道香,肉嫩。再配上店里秘制的蘸