如果大家在浏览百度、或者Google时不难发现,这些网站都实现了全站https,https相对于http而言,由于增加的ssl隧道传输机制,安全性得到了极大的提升,所以全站https将是未来站点的趋势所在,而httpd默认是不支持https的,由于httpd有着强大的模块支持,这里我们通过httpd众多模块中的一个——mod_ssl来实现https。
成都创新互联客户idc服务中心,提供四川移动机房托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。我们都知道,http是基于文本协议来传输数据的,默认是使用tcp的80端口对外通信的,而https则不同,https基于二进制格式的协议传输,安全性得到了保证,默认使用tcp的443端口来通信。由于SSL会话是基于IP地址进行的,故而不支持在基于FQDN的虚拟主机上实现。
首先需要安装mod_ssl模块:
]# yum -y install mod_ssl
生成的文件:
]# rpm -ql mod_ssl /etc/httpd/conf.d/ssl.conf //配置文件,需要指明我们的证书所在位置,下面要用到 /etc/httpd/conf.modules.d/00-ssl.conf /usr/lib64/httpd/modules/mod_ssl.so /usr/libexec/httpd-ssl-pass-dialog /var/cache/httpd/ssl
安装完成后需确保模块装载:
]# httpd -M Loaded Modules: ... \\此处省略 ssl_module (shared) //确保此模块已装载 ... \\此处省略
此时启动httpd服务:
] # systemctl start httpd
确保tcp的80和443端口已经监听:
要想使用https,服务器需要证书(公钥和私钥),可以在/etc/pki/tls/certs/目录下执行make命令来创建测试证书:
创建私钥:
为了私钥的安全性,要把私钥放在系统指定目录:
cp auth.key /etc/pki/CA/private/
创建证书:
至此,供实验使用的证书文件已创建完毕,下面修改mod_ssl配置文件来知名我们的证书存放位置:
编辑配置文件:
]# vim /etc/httpd/conf.d/ssl.conf
并做修改如下:
重启httpd服务:
查看端口监听情况:
把证书文件拷贝到测试主机上:
]# scp auth.crt tony@192.168.1.105:~/Desktop/
复制成功后,桌面有个文件auth.crt文件,双击导入系统:
打开浏览器,输入网址,测试:
至此,基于httpd的mod_ssl模块实现https就成功了。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。