linux配置httpd支持https(注意SSL会话是基于IP地址创建,所以单IP的主机上,仅可以使用一个https虚拟主机)

基本步骤:

服务器端生成证书请求发送给CA,由CA签证,

找一个主机创建一个私有CA(192.168.10.8 centos 7)

1)在 cd /etc/pki/CA的目录下生成私钥

[root@localhost CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)

创建一个文件并且输入索引序列号为01

2)然后为自己创建一个自签证书

[root@localhost CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 7300
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:ldy Ltd
Organizational Unit Name (eg, section) []:student
Common Name (eg, your name or your server's hostname) []:ca.ldy.com
Email Address []:[email protected]

3)在服务器端(192.168.10.2 redhat linux6)

创建一个SSL目录并且在ssl目录下生成证书请求

[root@liudongyi ssl]# (umask 077; openssl genrsa -out httpd.key 1024)

[root@liudongyi ssl]# openssl req -new -key httpd.key -out httpd.csr 

然后把httpd.csr文件提供给主机客户端192.168.10.8的/tmp/目录下

[root@liudongyi ssl]# scp httpd.csr [email protected]:/tmp/

客户端:然后进入主机客户端进行签署证书

[root@localhost CA]# openssl ca -in /tmp/httpd.csr -out certs/web1.ldy.com.crt -days 365

然后我们到服务器端ssl目录查看这目录下的文件是否存在web1.ldy.com.crt 

接着我们去配置httpd支持https的功能

我们用yum去安装

[root@liudongyi httpd]# yum install mod_ssl -y

如果出现下面的shared的内容说明可以装载

[root@liudongyi httpd]# httpd -M | grep ssl

我们可以查看mod_ssl所生成的文件 

我们进入到/etc/httpd/conf.d目录下并且备份一下配置文件然后编辑配置文件

修改配置文件内容

修改为

修改为我们刚才自己放置的文件目录

我们在把默认的私钥文件路径修改

因为我的web1主页面路径在/mnt/web/html目录下,所以在配置文件中应该修改为/mnt/web/html

修改为

然后我们重启服务

我们验证一下443端口是否被监听

最后一步我们进行测试

测试基于https访问响应的主机

openssl s_client  [-connect  host:port]  [-cert  filename]  [-CApath directory] [-CAfile filename]

[root@localhost CA]# openssl s_client -connect 192.168.10.2:443 -CAfile /etc/pki/CA/cacert.pem 

我输入命令进行测试访问

GET / HTTP/1.1
Host: web1.ldy.com

最后我们用浏览器进行测试一下https访问出现一下情况这是搜狗浏览器

最后我们用浏览器进行测试一下https访问出现一下情况这是谷歌浏览器

接着我们应该给自己的电脑下载一个证书就可以访问了,用自己的服务器传给自己一个证书即可

首先第一步:

用xftp进行传输

这样说明已经传送过去

我们在桌面找到它并且把后缀名改为crt

我们发现它改完后缀以后变成了一个证书的图标,然后我们双击就可以安装证书了

然后我们在重新用浏览器进行验证,,我们还需要把刚才的证书添加为信任证书(从windows自带的IE浏览器中找internet选项)

可以看到我们刚才安装的证书并不在信任证书的一列

然后我们把它添加为信任我们重新导入(刚才不应该直接安装证书)

然后我们在去windows主机上修改文件hosts把192.168.10.2和web1.ldy.com对应起来

我们再去访问应该就会发现

红色的框子没了说明已经信任了,我们证书是和web1.ldy.com所对应的刚才输入ip地址虽然也能访问

可算是结束了,,!!!!!有问题联系我吧qq号  1713285328 

猜你喜欢

转载自blog.csdn.net/qq_40210617/article/details/86704008