/Ny#+$cfk https是一个安全的访问方式,数据在传输过程中是加密的,https基于SSL。
T7-yZSw-m 一、安装apache和ssl模块
9Wg;M#c2Y| 1、安装apache
gD;T"^S+ #yum install httpd
!K+hXQE1 2、安装ssl模块
7jHrLsB #yum install mod_ssl
S..8,5mBH 重启apache:
xLms|jS #service httpd restart
z "z 安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls,此时可以立即通过https访问服务器了:
o2;Eti https://X.X.X.X/
~YenH 如果不使用默认的证书,也可以使用openssl手动创建证书。
WJI}~/z;C 二、使用openssl手动创建证书
,tDLpnB@; 1、安装openssl
aHb&+/HZ #yum install openssl
Y]^*mc0fE 2、生成服务器私钥
7IQaXcl #cd /etc/pki/tls
45x4JG #openssl genrsa -out server.key 1024
0 d+b<J, 注意:server.key是私钥。
X]n`YF7 3、用私钥server.key文件生成证书请求文件csr
b4EUrSL #openssl req -new -key server.key -out server.csr
j'Q0DF=GV 注:server.csr是证书请求文件。
t,'J%)j 此步骤需要输入一些证书信息:
&/:c?F?l Country Name (2 letter code) [XX]:CN
,izp^,` State or Province Name (full name) []:shanghai
)2q
r^) Locality Name (eg, city) [Default City]:shanghai
tOte[~, Organization Name (eg, company) [Default Company Ltd]:ccc
W$Xr:RU Organizational Unit Name (eg, section) []:bbb
j?T>S]xOX Common Name (eg, your name or your server's hostname) []:
www.test.com @P>>:002/ Email Address []:a@a.com
M+^ NF\ 输入国家、省份、城市、公司、部门、姓名或服务器名、电子邮箱,随后会要求输入一个challengepassword(密码),无需输入,后面一律直接回车即可。
M,yxPHlN 4、生成数字签名crt文件(证书文件)
c6=XJvz #openssl x509 -days 365 -req -in server.csr -signkey server.key -outserver.crt
9i
lJ 用私钥签名证书请求文件,证书的申请机构和颁发机构都是自己。
\zBZ$5 rE 5、编辑apache的ssl配置文件
H6>t to vim/etc/httpd/conf.d/ssl.conf
}sJ}c}b /etc/httpd/conf.d/ssl.conf文件配置具体如下:
ux*G*QZ <VirtualHost _default_:443>
}6 u)wF5 DocumentRoot "/var/www/https" //设置网页存放目录
@3 + ServerName *:443 //服务器的端口
A[`c+& DirectoryIndex index.html index.html.var //首页名称
|Q@( <'8= SSLEngine on
BeD>y@ it SSLCertificateFile /etc/pki/tls/server.crt //证书
X+ybgB4( SSLCertificateKeyFile /etc/pki/tls/server.key //私钥
}5z!FXB </VirtualHost>
&oJ[ *pQ 6、重启apache
Xk:3w, #servicehttpd restart
mi5bk>o 访问
https://ip/,就能看到证书信息了。
KV'3\`v@LY 由于不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。
>* F#ZZv}p !!!注意:首页index.html 的文件权限为755,否则将会出现如上提示: \<y|[ Forbidden
0C"2?etMx Youdon't have permission to access /main.html on this server.
t: ,lz8Y~ 解决方法:修改首页index.html读写权限。
W'E3_dj+ #Chmod755 index.html
CPY|rV 关于openssl指令的补充说明: +(w9! 5?F #openssl [操作] -out filename [bits]
>>;He7 参数说明:
]C|xo.=?] [操作] 主要的操作有如下两个:
=BV_? genrsa,建立RSA加密的Public key
mM+^v[= req,建立凭证要求文件或者是凭证文件
BHNJH -out ,后面加上输出的文件名,就是那把key name
OKj\>3 bits,用在genrsa加密的公钥的长度
6$csFW3R -x509,X.509,CertificateData Management. 一种验证的管理方式
n^|7ycB' 例:建立一支长度为1024bits的Public Key,注意文件名。
fq):'E) #openssl genrsa -out Server.key 1024
>{0,dGm 生成证书请求命令:
8p/&_<mnW #Openssl req -new -key file.key -out file.csr -config /path/to/openssl.cnf
vv`53 Pbw) -config:指定openssl的配置文件路径,不指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/openssl.cnf。
#,!/Cnqis 例:#openssl req -new -key server.key -outserver.csr