CentOS下Apache安装SSL

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

一、安装apache和ssl模块
1、安装apache

yum install httpd

2、安装ssl模块

yum install mod_ssl

重启apache:

service httpd restart

安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls ,此时可以立即通过https访问服务器了:
https://IP/
如果不使用默认的证书,也可以使用openssl手动创建证书。

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

yum install openssl

2、生成服务器私钥

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 []:[email protected]

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

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

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

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

5、编辑apache的ssl配置文件

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

修改

SSLCertificateFile /etc/pki/tls/certs/localhost.crt



SSLCertificateFile /etc/pki/tls/server.crt

修改

SSLCertificateKeyFile /etc/pki/tls/private/localhost.key



SSLCertificateKeyFile /etc/pki/tls/server.key

这里在apache上设置了服务器证书和私钥。

6、重启apache

service httpd restart

访问https://ip/,就能看到证书信息了。由于不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。

 

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

访问:

sudo curl -k 'https://192.168.1.112/hello.php'

或浏览器访问:

https://192.168.1.112/hello.php

 

你可能感兴趣的:(apache)