Et=N`k_gO https是一个安全的访问方式,数据在传输过程中是加密的,https基于SSL。
xrK%3nA4s" 一、安装apache和ssl模块
M<,E[2op 1、安装apache
s wdW70 #yum install httpd
Z%Nl<i 2、安装ssl模块
!TRJsL8 #yum install mod_ssl
$e; _N4d^ 重启apache:
)jK"\'cK #service httpd restart
i!jZZj-{ 安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls,此时可以立即通过https访问服务器了:
d*Y&V$?zl https://X.X.X.X/
Kc*h@#`~oL 如果不使用默认的证书,也可以使用openssl手动创建证书。
?L$
Dk5-W 二、使用openssl手动创建证书
;f7(d\=y
1、安装openssl
<@}~Fp@ #yum install openssl
c<j2wKz 2、生成服务器私钥
8?4j- #cd /etc/pki/tls
LoLmT7 #openssl genrsa -out server.key 1024
q28i9$Yqj\ 注意:server.key是私钥。
mu2r#I 3、用私钥server.key文件生成证书请求文件csr
A('=P}I^ #openssl req -new -key server.key -out server.csr
D;It0" 注:server.csr是证书请求文件。
vBUx)l 此步骤需要输入一些证书信息:
S*6P=O* Country Name (2 letter code) [XX]:CN
cA1"Nek State or Province Name (full name) []:shanghai
7</&=lly Locality Name (eg, city) [Default City]:shanghai
"jzU` Organization Name (eg, company) [Default Company Ltd]:ccc
ua*k{0[ Organizational Unit Name (eg, section) []:bbb
q4<3 O"c1 Common Name (eg, your name or your server's hostname) []:
www.test.com n4+l,~ Email Address []:a@a.com
v'7,(.E 输入国家、省份、城市、公司、部门、姓名或服务器名、电子邮箱,随后会要求输入一个challengepassword(密码),无需输入,后面一律直接回车即可。
S,Boutd 4、生成数字签名crt文件(证书文件)
)y(pd #openssl x509 -days 365 -req -in server.csr -signkey server.key -outserver.crt
5BCXI8Ox9x 用私钥签名证书请求文件,证书的申请机构和颁发机构都是自己。
[f}YXQ0N) 5、编辑apache的ssl配置文件
VS<E?JnbFV vim/etc/httpd/conf.d/ssl.conf
~isrE;N1| /etc/httpd/conf.d/ssl.conf文件配置具体如下:
:l8n)O3 <VirtualHost _default_:443>
0&2(1 DocumentRoot "/var/www/https" //设置网页存放目录
V #W,}+_Sz ServerName *:443 //服务器的端口
Lt0JUUa0 DirectoryIndex index.html index.html.var //首页名称
, j^ /~ SSLEngine on
RUUV"y SSLCertificateFile /etc/pki/tls/server.crt //证书
5mUHk]W SSLCertificateKeyFile /etc/pki/tls/server.key //私钥
Tz3 L#0:j </VirtualHost>
"2q}G16K 6、重启apache
TJ8IYo|
D #servicehttpd restart
ms8de>A|H 访问
https://ip/,就能看到证书信息了。
QNn\wz_) 由于不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。
V
@8+ !!!注意:首页index.html 的文件权限为755,否则将会出现如上提示: i1$ $86 Forbidden
-/rP0h5# Youdon't have permission to access /main.html on this server.
V/"UDof 解决方法:修改首页index.html读写权限。
4Ra #Chmod755 index.html
pA7& 关于openssl指令的补充说明: 2\80S[f #openssl [操作] -out filename [bits]
=i[ _C>U 参数说明:
Y!s94#OaZ [操作] 主要的操作有如下两个:
/ap3>xkt genrsa,建立RSA加密的Public key
Vc0C@*fVM req,建立凭证要求文件或者是凭证文件
I^S
gWC -out ,后面加上输出的文件名,就是那把key name
k?]`PUrV bits,用在genrsa加密的公钥的长度
:}(Aq;}X -x509,X.509,CertificateData Management. 一种验证的管理方式
U4;r.#qw, 例:建立一支长度为1024bits的Public Key,注意文件名。
HZ%2WM #openssl genrsa -out Server.key 1024
Kz>bfq7 生成证书请求命令:
*-Y`7=^$ #Openssl req -new -key file.key -out file.csr -config /path/to/openssl.cnf
\%&BK.t -config:指定openssl的配置文件路径,不指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/openssl.cnf。
-u+@5K;^Y 例:#openssl req -new -key server.key -outserver.csr