• 928阅读
  • 0回复

CentOS服务器下安装配置SSL

楼层直达
!i t orSl  
https是一个安全的访问方式,数据在传输过程中是加密的,https基于SSL。 ?z.?(xZ 6  
一、安装apache和ssl模块 e6taQz@}  
1、安装apache `PbY(6CF  
#yum install httpd A;L ]=J  
2、安装ssl模块 %j\&}>P4$  
#yum install mod_ssl ?+Gt?-! 5q  
重启apache: )J[m>tyY5  
#service httpd restart :Dt y([  
安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls,此时可以立即通过https访问服务器了: bh@CtnO  
https://X.X.X.X/ (?Mn_FNE|  
如果不使用默认的证书,也可以使用openssl手动创建证书。 Sh(ys*y>  
二、使用openssl手动创建证书 *F1TZ_GS  
1、安装openssl 684& H8  
#yum install openssl 3JGrJ!x  
2、生成服务器私钥 WOn<;'}M&  
#cd /etc/pki/tls W^8  
#openssl genrsa -out server.key 1024 5a/A?9?,  
注意:server.key是私钥。 )pl5nu#<  
3、用私钥server.key文件生成证书请求文件csr |~5cN m  
#openssl req -new -key server.key -out server.csr { YQS fk  
注:server.csr是证书请求文件。 R Th=x.  
此步骤需要输入一些证书信息: d'96$e o~  
Country Name (2 letter code) [XX]:CN uZL]mwkj]  
State or Province Name (full name) []:shanghai =x -7 Wy  
Locality Name (eg, city) [Default City]:shanghai F:m6Mf7L  
Organization Name (eg, company) [Default Company Ltd]:ccc {j$2=0Cec  
Organizational Unit Name (eg, section) []:bbb ?7NSp2aq2A  
Common Name (eg, your name or your server's hostname) []:www.test.com -u@ ^P7  
Email Address []:a@a.com  lPZ>#  
输入国家、省份、城市、公司、部门、姓名或服务器名、电子邮箱,随后会要求输入一个challengepassword(密码),无需输入,后面一律直接回车即可。 ~+1mH  
4、生成数字签名crt文件(证书文件) ht%qjE  
#openssl x509 -days 365 -req -in server.csr -signkey server.key -outserver.crt F% n}vA`  
用私钥签名证书请求文件,证书的申请机构和颁发机构都是自己。 ;<0vvP|  
5、编辑apache的ssl配置文件 n5C,Z!)z  
vim/etc/httpd/conf.d/ssl.conf *{VC<<`  
/etc/httpd/conf.d/ssl.conf文件配置具体如下: 0s-K oz  
<VirtualHost _default_:443> iYBc4'X  
DocumentRoot "/var/www/https"      //设置网页存放目录 KWo Ps%G  
ServerName *:443                  //服务器的端口 !@lx|= #  
DirectoryIndex index.html index.html.var  //首页名称 BR|0uJ.M  
SSLEngine on JL G!;sov  
SSLCertificateFile /etc/pki/tls/server.crt    //证书 L|WrdT D;  
SSLCertificateKeyFile /etc/pki/tls/server.key  //私钥 ?jz\[0)s  
</VirtualHost> _yAY5TIv  
6、重启apache zlP{1z;nV  
#servicehttpd restart Rw `ezC#  
访问https://ip/,就能看到证书信息了。 k~AtnI  
由于不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。 564L.^$@|  
!!!注意:首页index.html 的文件权限为755,否则将会出现如上提示: 1|8Bv0-b  
Forbidden :q3w;B~  
Youdon't have permission to access /main.html on this server. 1\,k^Je7  
解决方法:修改首页index.html读写权限。 :ILpf+`yY  
#Chmod755  index.html MOh&1]2j5  
关于openssl指令的补充说明: 3r#['UmT  
#openssl [操作]  -out  filename  [bits] ?,7!kTRH  
参数说明: vfn[&WN]  
[操作]  主要的操作有如下两个: ?@PSD\  
      genrsa,建立RSA加密的Public key |BM#rfQ  
      req,建立凭证要求文件或者是凭证文件 w=?nD6Xhz  
-out ,后面加上输出的文件名,就是那把key name 68GH$ji  
bits,用在genrsa加密的公钥的长度 o|d:rp!^  
-x509,X.509,CertificateData  Management.  一种验证的管理方式 >n/0od9  
例:建立一支长度为1024bits的Public Key,注意文件名。 6<@+J  
#openssl genrsa  -out  Server.key 1024 U"|1@W#  
生成证书请求命令 m$W2E.-$'#  
#Openssl req  -new  -key file.key  -out  file.csr -config  /path/to/openssl.cnf !BW!!/U  
-config:指定openssl的配置文件路径,不指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/openssl.cnf。 h #gI1(uL  
例:#openssl req -new -key server.key -outserver.csr
快速回复

限100 字节
安逸网提示:如果您在写长篇帖子又不马上发表,建议存为草稿
 
认证码:
上一个 下一个