https服务器搭建与测试

2025-10-29 19:52:57

1、HTTPS(Hyper TextTransfer Protocol over Secure Socket Layer)

        以安全为目标的HTTP通道,简单讲是HTTP的安全版,用于安全的HTTP数据传输

        HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需级牺要SSL。,加密后数据为二进制文本

表示:https://

2、端口&协议:443/tcp    

       HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)

   销级羞       ssl: v3、tls: v1

注意:SSL会话是基于IP地址创建;所以净鉴单IP的主机上,仅可以使用一个https虚拟主机;

即一个IP只能一个使用443端口,但是能多个80端口

1、安装http程序,配置站点

#  yum  install -y  httpd

#  vim/etc/httpd/conf/httpd.conf

2、为服务器申请数字证书;

    (1)CA服务器端:创建私有证书颁发机构

 ~]# cd  /etc/pki/CA

 ~]#(umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

 ~]#openssl req  -new -x509 -key /etc/pki/CA/private/cakey.pem -out/etc/pki/CA/cacert.pem -days 3655

 ~]#mkdir  -pv  /etc/pki/CA/{certs,crl,newcerts}

 ~]#touch  /etc/pki/CA/{serial,index.txt}

 ~]#echo  01 > /etc/pki/CA/serial

    (2)https服务器端:发起创建证书请求

 ~]# mkdir /etc/httpd/ssl  

 ~]#  cd  /etc/httpd/ssl

 ~]#(umask  077; openssl  genrsa  -out  /etc/httpd/ssl/https.key  2048)

 ~]#openssl  req  -new -key  /etc/httpd/ssl/https.key -out /etc/httpd/ssl/https.csr  -days  365

    (3)将https服务器的请求生成文件发送给CA进行签署操作

~]# scp … …    /tmp

~]# openssl ca -in/tmp/https.csr -out /etc/pki/CA/certs/https.crt -days 365

    (4)将签署后的证书返回给https服务器即可使用

~]# scp … …

3、配置httpd支持使用ssl,及使用的证书;

    (1)安装并查看mod_ssl模块

             [root@localhost~]#  yum -y install mod_ssl

             [root@localhost~]#  rpm -ql mod_ssl

             [root@localhost~]#  httpd -M | grep ssl

https服务器搭建与测试

4、修改配置文件:/etc/httpd/conf.d/ssl.conf

    [root@localhost ~]# vim  /etc/httpd/conf.d/ssl.conf修改部分配置

      DocumentRoot

定义默认虚拟主机的文档页面

      ServerName

定义默认虚拟主机的服务名

      SSLCertificateFile

定义证书文件路径

      SSLCertificateKeyFile

定义私钥文件

     注释:

       1)/etc/httpd/conf.d/ssl.conf中定义启动mod_ssl.so模块,且定义监听端口

https服务器搭建与测试

5、<VirtualHost _default_:443>定义默认虚拟主机,当根据FQDN请求有多个站点的主机,均未找到时候会返回默认主机定义的页面。

https服务器搭建与测试

6、测试基于https访问相应的主机;

        # openssls_client [-connect host:port] [-cert filename] [-CApath directory] [-CAfilefilename]

                        openssl s_client-connect    172.16.249.209:443

https服务器搭建与测试

1、访问https://172.16.249.209:443

此时会报错因为CA为信任的证书不发机构,所以需要导入CA的证书

https服务器搭建与测试

2、网站本身通信已经经过了SSL加密

https服务器搭建与测试

3、让浏览器信任CA所颁发的证书

   (1)复制CA的证书/etc/pki/CA/cacert.pem到本地,将其改为.crt格式

   (2)具体的浏览器不同,注意Chorm浏览器可能本身的安全等级过高

https服务器搭建与测试

1、1.删除测试页面/etc/httpd/conf.d/welcome.conf

2.在</VirtualHost>容器内只能定义一次,位置可在/etc/httpd/conf.d/ssl.conf中,或者/etc/httpd/conf.d/*自定义

一个ip只能建立一个基于虚拟主机的https

3.本机Windows的浏览器基于域名测试,需要在C:\Windows\System32\drivers\etc\host文件中定义DNS指向

4.https加密对于前端的负载均衡器压力较大

5.本次配置完成后需要指定443端口才能访问https,因为默认访问的是80端口。生产环境中若偶像访问80端口时候自动跳转到443端口,需定义URL重定向来使得访问80端口时候自动跳转到443端口

6.不导入CA,也能够建立ssl通信

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢