PHP网站制作之泛域名ssl证书搭建全攻略
从刚开始练习的PHP基础语法练习,到PHP语言在WEB中的应用,再到实际的项目开发,如留言版,相册系统,中小型公司网站系统,以及期间做过的有关团队合作的小游戏,让我受益匪浅,学到了很多。无忧在线项目办理(www.5upm.com)是禅道开辟团队给人人供应的一款在线的项目办理服务,它供应了禅道软件专业版本的功效,同时内置了subversion和git的源码托管服务,如许创业型团队大概跨地区团队就能够异地办公,完成跨地区的协同办理。
在实践运营无忧在线过程当中,平安是良多客户对照体贴的成绩。关于这个成绩我们经由过程良多种手腕来加以办理,好比操纵体系层面,使用程序层面等等。比来无忧在线项目办理又上线了https会见功效,进一步增强了无忧在线的平安性。
上面是笔者设置无忧在线https会见的历程,谨供人人参考。
1、https协定简介
我们寻常会见网站默许利用的是http协定,但http协定是没有加密的,一切的内容都是以明文的体例在收集长进行传输,平安性不妨包管。https协定则很好的办理了这个成绩。
依据维基百科(http://zh.wikipedia.org/wiki/HTTPS)的先容,HTTPS的次要头脑是在不平安的收集上创立一平安信道,并可在利用得当的加密包和服务器证书可被考证且可被信托时,对窃听和两头人打击供应公道的回护。
HTTPS的信托承继基于事后安装在扫瞄器中的证书发表机构(如VeriSign、Microsoft等)(意即“我信托证书发表机构告知我应当信托的”)。因而,一个到某网站的HTTPS毗连可被信托,当且仅当:
用户信任他们的扫瞄器准确完成了HTTPS且安装了准确的证书发表机构;
用户信任证书发表机构仅信托正当的网站;
[*]被会见的网站供应了一个无效的证书,意即,它是由一个被信托的证书发表机构签发的(年夜部分扫瞄器会对有效的证书收回告诫);
[*]该证书准确地考证了被会见的网站(如,会见https://example时收到了给“ExampleInc.”而不是别的构造的证书);
[*]大概互联网上相干的节点是值得信托的,大概用户信任本协定的加密层(TLS或SSL)不克不及被窃听者损坏。
因而部署https协定会见最为关头的就是证书。上面来看下https证书的分类。
2、https(ssl)证书分类
2.1从证书发表机构来分
从证书的签发机构来分,能够分为自我签发和专业的CA认证机构签发两种。假如只是公司外部利用,能够接纳自我签发的体例来天生ssl证书,上风是完整收费的,部署也便利快速。但弱点是扫瞄器默许以为这个自我签发的证书是不被信托的,会弹出告诫页面,提醒用户举行确认。好比ie上面这提醒如许的页面:
这类体例给客户供应服务就十分欠好。以是仍是要购置专业CA机构发表的证书。
2.2从证书认证品级来分
从证书认证的品级来分,ssl证书能够分为DV,OV和EV三种:
[*]DV是DomainValidation的缩写,意义就是对网站域名一切权举行考证。CA认证机构会向域名持有者的邮箱发送响应的邮件,以确认证书和域名的一切权干系。其特性是复杂快速,代价廉价,弱点是没法包管网站谋划者的身份,因而一样平常仅用来供应数据加密的功效。
[*]OV是OrganizationValidation的缩写,这类证书在发表的时分会对网站一切单元的身份举行证明行考证,以是一样平常电子商务类的网站常常会做OV的认证。代价固然也会对照高贵,证书发表周期也会对照久。
[*]EV是ExtendedValidation的缩写,也是最严厉的身份考证,当用户在会见经由过程EV认证的网站时分,扫瞄器的显现为绿色,固然代价也是相称的高贵。:)
2.3从证书合用域名个数来分
一个ssl证书都有其对应的域名,从其合用的域名个数来分能够分为单域名、多域名和泛域名证书。望文生义,单域名证书只能合用于一个域名,多域名证书能够合用于多个域名。而泛域名证书,又称为通配符型(wildcard)证书,能够婚配*.domain.name这类情势。
我们无忧在线给客户供应的会见路径都是subdomin.5upm.com的情势,好比您请求一个abc的二级域名,那末会见无忧在线项目办理服务的网址就是http://abc.5upm.com。我们要办理的就是为每位客户的二级域名供应平安的https会见服务,那末泛域名ssl证书就是我们的选择。
上面就是来选购ssl证书了。Ssl证书分歧的厂商代价都有分歧,我们在网上搜刮了以后,找到了一个cheapssls.com的网站,它专门代办署理各个厂商的ssl证书,代价对照实惠,上面我们是我们在cheapssls.com网站下面购置证书、激活证书的全历程。
3、购置证书
3.1注册用户
第一步是在cheapssls.com网站注册用户。会见cheapssls.com,选择页面右上角的"Signin"链接,依照提醒注册一个帐号,历程不再赘述。
3.2选择厂商
注册完帐号以后,就能够来选择要购置的证书和厂商了。我们要购置的是泛域名证书,以是选择wildcardsslcertificates,以下图:
我们选择了RapidSSl供应的证书:
3.3下定单
断定好证书范例和厂商以后,就能够下定单了:
一样平常购置的年份越多,扣头越低。笔者购置的这一款代价是98.99$,算起来仍是对照实惠的。
3.4付出
由于外洋网站都利用美圆结算,国际用户购置的话,能够经由过程信誉卡大概paypal付出。信誉卡必要带有mastcard大概visa标记的,这类信誉卡是撑持外币结算的。
笔者选择利用paypal付出:
然后依据页面的提醒到paypal网站付出就能够了。付出乐成以后,下一步的操纵就是来激活证书了。
4、激活证书
4.1天生csr文件
激活证书之前必要在证书安装的服务器下面天生csr文件,linux上面能够openssl来创立上面的这些文件,基础的步骤和命令以下:
4.1.1天生server.key文件。
起首挪用openssl命令来天生server.key文件。
z@colinux:/tmp$opensslgenrsa-des3-outserver.key2048
GeneratingRSAprivatekey,2048bitlongmodulus
.................................................................................+++
..+++
eis65537(0x10001)
Enterpassphraseforserver.key:
Verifying-Enterpassphraseforserver.key:
个中必要注重的是加密强度要接纳2048,同时命令还会让你输出一个回护key文件的暗码。
4.1.2依据server.key文件,天生server.csr文件
有了server.key文件以后,就能够来天生server.csr文件了。
z@colinux:/tmp$opensslreq-new-keyserver.key-outserver.csr
Enterpassphraseforserver.key:
Youareabouttobeaskedtoenterinformationthatwillbeincorporated
intoyourcertificaterequest.
WhatyouareabouttoenteriswhatiscalledaDistinguishedNameoraDN.
Therearequiteafewfieldsbutyoucanleavesomeblank
Forsomefieldstherewillbeadefaultvalue,
Ifyouenter.,thefieldwillbeleftblank.
-----
CountryName(2lettercode):CN
StateorProvinceName(fullname):ShanDong
LocalityName(eg,city)[]:QingDao
OrganizationName(eg,company):QingDaoEasySoft
OrganizationalUnitName(eg,section)[]:Dev
CommonName(eg,YOURname)[]:*.5upm.com
EmailAddress[]:chunsheng@cnezsoft.com
Pleaseenterthefollowingextraattributes
tobesentwithyourcertificaterequest
Achallengepassword[]:
Anoptionalcompanyname[]:
这个命令内里必要注重的中央:
[*]CountryName,填写CN,代表中国。
[*]StateorProvinceName,填写汉语拼音的省分便可。
[*]LocalityName,填写地点乡村的汉语拼音便可。
[*]OrganizationName,填写公司的汉语拼音便可。
[*]OrganizationalUnitName,填写地点的部门的汉语拼音。
[*]CommonName,这个是最关头的,必要填写ssl证书对应的域名,泛域名必定要写成*.doomain.com的情势。
[*]EmailAddress,填写接洽人邮箱便可。
经由过程下面的命令,我们就能够天生server.csr文件了,上面的步骤就是用这个文件来请求激活证书了。
4.2请求激活
仍是回到cheapssl网站,登录体系,然后会见myssl,选择购置的证书,激活:
会呈现一个请求的表单:
在这个页面会让你选择服务器的范例,我们选择是apache+openssl。然后上面的文本框内里将方才天生的server.key内里的内容拷贝出去,然后点击下一步,考证域名的一切者身份:
能够有几品种型,一种是经由过程你所请求的域名的邮箱,好比笔者用的5upm.com,那末就必要一个@5upm.net的邮箱,另有一种体例就是经由过程域名一切人的邮箱来举行考证。
选择了考证体例以后,,体系会提醒已激活乐成,上面就是必要登录方才填写的邮箱,确认此次请求。
这是收到的邮件的内容,点击内里的链接举行确认:
选择"IApprove":
以后就会收到一封email,内里包括了正式的ssl证书和INTERMEDIATECA文件。
这是ssl证书。
这是INTERMEDIATECA文件。
上面就是设置apache来利用证书了。
5、设置证书
设置apache证书之前,必要下翻开ssl模块,并设置apache监听443端口,在此不再赘述,网上有良多材料能够参考。将方才经由过程邮件拿到的ssl文件和ca文件分离保留成server.crt和server.pem。如许加上我们之宿世成的key和csr文件,我们统共有四个文件,server.key,server.csr,server.crt,server.pem,将这四个文件寄存在一个目次上面,好比/etc/apaches/ssl/上面,然后设置apache的假造机:
<VirtualHost*:443>
SSLEngineOn
SSLCertificateFile/etc/apache2/ssl/server.crt
SSLCertificateKeyFile/etc/apache2/ssl/server.key
SSLCertificateChainFile/etc/apache2/ssl/server.pem
ServerAlias*.5upm.com
ServerAlias*.5upm.cn
DocumentRoot/var/www
<Directory/>
OptionsFollowSymLinks
AllowOverrideAll
</Directory>
</VirtualHost>
设置完成以后,重启apache,顺遂的话,就能够经由过程https来会见了。上面是我们无忧在线的会见,地点栏已酿成了黄色的加密栏(分歧扫瞄器显现分歧)。
现在,也有了从事软件工程的想法,在经过了一个月的PHP培训学习之后,发现其实软件工程并没有想像中的那么难。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
页:
[1]