Centosserver下安装配置SSL

https是一个安全的訪问方式,数据在传输过程中是加密的,https基于ssl

一、安装apachessl模块
1
、安装apache

#yum install httpd

2
、安装ssl模块

#yum install mod_ssl

重新启动apache

#service httpd restart

安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls。此时能够马上通过https訪问server了:

https://.../

假设不使用默认的证书,也能够使用openssl手动创建证书。

二、使用openssl手动创建证书
1
、安装openssl

#yum install openssl

2
、生成server私钥

#cd /etc/pki/tls
#openssl genrsa -out server.key 1024

注意:server.key是私钥。

3、用私钥server.key文件生成证书请求文件csr

#openssl req -new -key server.key -out server.csr

注:server.csr是证书请求文件。

此步骤须要输入一些证书信息:
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:shanghai
Locality Name (eg, city) [Default City]:shanghai
Organization Name (eg, company) [Default Company Ltd]:ccc
Organizational Unit Name (eg, section) []:bbb
Common Name (eg, your name or your server's hostname) []:www.test.com
Email Address []:a@a.com

输入国家、省份、城市、公司、部门、姓名或server名、电子邮箱,随后会要求输入一个challengepassword(密码),无需输入。后面一律直接回车就可以。

4、生成数字签名crt文件(证书文件)

#openssl x509 -days 365 -req -in server.csr -signkey server.key -outserver.crt

用私钥签名证书请求文件。证书的申请机构和颁发机构都是自己。

5、编辑apachessl配置文件

vim/etc/httpd/conf.d/ssl.conf

/etc/httpd/conf.d/ssl.conf文件配置详细例如以下:

 

<VirtualHost _default_:443>

DocumentRoot "/var/www/https"      //设置网页存放文件夹

ServerName *:443                  //server的port

DirectoryIndex index.html index.html.var  //首页名称

SSLEngine on

SSLCertificateFile /etc/pki/tls/server.crt     //证书

SSLCertificateKeyFile /etc/pki/tls/server.key   //私钥

</VirtualHost>
6、重新启动apache
#
servicehttpd restart
訪问https://ip/,就能看到证书信息了。

因为不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。

 

!!!注意:首页index.html 的文件权限为755,否则将会出现如上提示:

Forbidden

Youdon't have permission to access /main.html on this server.

解决方法:改动首页index.html读写权限。

#Chmod755  index.html

 

 

 

关于openssl指令的补充说明:

#openssl [操作]  -out  filename   [bits]

參数说明:

[操作]  基本的操作有例如以下两个:

      genrsa。建立RSA加密的Public key

      req,建立凭证要求文件或者是凭证文件

-out ,后面加上输出的文件名称,就是那把key name

bits,用在genrsa加密的公钥的长度

-x509。X.509,CertificateData  Management.   一种验证的管理方式

例:建立一支长度为1024bits的Public Key。注意文件名称。

#openssl genrsa  -out  Server.key 1024

 

 

生成证书请求命令:

#Openssl req  -new  -key file.key  -out  file.csr -config  /path/to/openssl.cnf

-config:指定openssl的配置文件路径,不指定时。默认会訪问Unix格式的默认路径:/usr/local/ssl/openssl.cnf。

例:#openssl req -new -key server.key -outserver.csr

posted @ 2017-04-17 14:28  jzdwajue  阅读(164)  评论(0编辑  收藏  举报