3%;a)c;D https是一个安全的访问方式,数据在传输过程中是加密的,https基于SSL。
2q4<t:! 一、安装apache和ssl模块
=;&yd';k 1、安装apache
5vZ^0yFQ #yum install httpd
x&T [*i 2、安装ssl模块
&wE%<"aRAl #yum install mod_ssl
#PQB(=299P 重启apache:
r|PB*` #service httpd restart
mh[75( 安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls,此时可以立即通过https访问服务器了:
'>ssqBnI https://X.X.X.X/
P8)=Kbd 如果不使用默认的证书,也可以使用openssl手动创建证书。
in- HUG 二、使用openssl手动创建证书
ouFYvtF g 1、安装openssl
qC:raH_: #yum install openssl
$ ,}E 2、生成服务器私钥
9!}8UALD #cd /etc/pki/tls
QKN+>X #openssl genrsa -out server.key 1024
cH?B[S;] 注意:server.key是私钥。
&wCg\j_c 3、用私钥server.key文件生成证书请求文件csr
b@f$nS
B #openssl req -new -key server.key -out server.csr
nV:LqF= 注:server.csr是证书请求文件。
(#RHB`h5 此步骤需要输入一些证书信息:
z hRB,1iG Country Name (2 letter code) [XX]:CN
J| bd)0 State or Province Name (full name) []:shanghai
R:k5QD9/&p Locality Name (eg, city) [Default City]:shanghai
2Yn <2U/^R Organization Name (eg, company) [Default Company Ltd]:ccc
V(6Z3g Organizational Unit Name (eg, section) []:bbb
jWl)cC Common Name (eg, your name or your server's hostname) []:
www.test.com Id|L`
w Email Address []:a@a.com
G) 7;; 输入国家、省份、城市、公司、部门、姓名或服务器名、电子邮箱,随后会要求输入一个challengepassword(密码),无需输入,后面一律直接回车即可。
WDPb!-VT 4、生成数字签名crt文件(证书文件)
LBsluT #openssl x509 -days 365 -req -in server.csr -signkey server.key -outserver.crt
J/GSceHF 用私钥签名证书请求文件,证书的申请机构和颁发机构都是自己。
a]/>ra5{ 5、编辑apache的ssl配置文件
3`.7<f` vim/etc/httpd/conf.d/ssl.conf
/8g^T") /etc/httpd/conf.d/ssl.conf文件配置具体如下:
WKIoS"?-F <VirtualHost _default_:443>
H_ox_
u} DocumentRoot "/var/www/https" //设置网页存放目录
^!z[t\$ ServerName *:443 //服务器的端口
\\7ZWp\fN DirectoryIndex index.html index.html.var //首页名称
"xHg qgFyO SSLEngine on
3G~@H>j SSLCertificateFile /etc/pki/tls/server.crt //证书
>W`4aA SSLCertificateKeyFile /etc/pki/tls/server.key //私钥
/)(#{i* </VirtualHost>
;R?I4}O#R8 6、重启apache
2e9es #servicehttpd restart
5qoSEI-m 访问
https://ip/,就能看到证书信息了。
;Uu(zhbj 由于不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。
p>;_e( !!!注意:首页index.html 的文件权限为755,否则将会出现如上提示: q]N:Tpm9 Forbidden
m"jV}@agX Youdon't have permission to access /main.html on this server.
/BV03B 解决方法:修改首页index.html读写权限。
hq/k*; #Chmod755 index.html
Nn"+w|v[ev 关于openssl指令的补充说明: L^4-5`gj #openssl [操作] -out filename [bits]
[[Y0 参数说明:
0,rTdjH7 [操作] 主要的操作有如下两个:
`z )N,fF genrsa,建立RSA加密的Public key
A7`1-# req,建立凭证要求文件或者是凭证文件
{TRsd -out ,后面加上输出的文件名,就是那把key name
F.=Bnw/- bits,用在genrsa加密的公钥的长度
b-*3 2Y% -x509,X.509,CertificateData Management. 一种验证的管理方式
=)`
p_W 例:建立一支长度为1024bits的Public Key,注意文件名。
JiU9CeD3 #openssl genrsa -out Server.key 1024
Iu*^xn 生成证书请求命令:
v[n7" #Openssl req -new -key file.key -out file.csr -config /path/to/openssl.cnf
d@G}~&.| -config:指定openssl的配置文件路径,不指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/openssl.cnf。
OOz[-j>'Y+ 例:#openssl req -new -key server.key -outserver.csr