设为首页 收藏本站
查看: 1429|回复: 0

[经验分享] Linux中https配置实例

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-8-12 08:51:52 | 显示全部楼层 |阅读模式
本帖最后由 ew213 于 2014-8-12 08:52 编辑

http协议:文本编码格式(telnet可以验证明文传输的。  
   https协议:基于SSL二进制编码 https监听在443/tcp
    httpd:ssl   
ssl是基于IP地址创建,所以,每一个IP 仅创建一个SSL回话;     
(也就是说一个IP只能建立一个ssl,要是你利用主机名建立多个网站,就只一个网站可支持ssl通信)
  httpd的ssl的会话的建立相当占用系统资源,一般服务器端为了不占用系统资源一般生产厂商就会添加个硬件设备单独处理ssl认证。
     
ssl握手要完成的工作:     
交换协议版本号     
选择双方都支持的加密方式     
客户端对服务器端实现身份验正     
密钥交换(客户端选择一个临时的对称加密方式,用对方的公钥加密后传输给对方来身份验证)
     
客户端验证服务器证书:     
有效性检查:证书是否仍然在有效期内。     
CA的可信度检查:CA的公钥解密,能解密说明是可信的CA     
证书的完整性检查:通过计算指纹码与之比对来验证完整性检测     
持有者的身份检测:用自己的名称和对方在证书提供的名称是否一致(服务器用客户端的请求的名称当成公钥来加密证书,客户端能用自己的名称当成自己的私钥来解密,能解密就能确认身份)
     
配置:httpd工作于https配置流程:     
(1)安装mod_ssl模块     
(2)为服务器端生成私钥,并为提供证书 CA签发证书的,,,客户端的证书名字为自己请求的名称     
(3)配置使用https的虚拟主机     
(4)服务器重新装载配置。     
(5)测试
     
实例:https配置安装过程。     
(1)安装mod_ssl模块     
#yum install mod_ssl -y-----安装模块     
(2) 为服务端生成私钥,并为其提供证书;     
# mkdir /etc/httpd/ssl && cd /etc/httpd/ssl     
# (umask 077; openssl genrsa -out httpd.key 1024)     
# openssl req -new -key httpd.key -out httpd.csr
  签署后的证书为:/etc/httpd/ssl/httpd.crt   
(3)配置使用https的虚拟主机;     
# vim /etc/httpd/conf.d/ssl.conf     
<VirtualHost _default_:443>----------- _default_默认服务器IP(要是想创建两个可以在添加一个IP地址)     
DocumentRoot "/var/www/host1"-----------指定网站的跟目录     
ServerName www.ning.com:443--------------指定服务器名称:(443端口可以不用指定因为上面VirtualHost有指定)     
SSLCertificateFile /etc/httpd/ssl/httpd.crt------------指定httpd的已经签发过的证书     
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key-------------指定httpd服务的私钥
  (4)重新装载配置   
#httpd -t --------检查下语法     
#service httpd restart----------因为已经改变了监听接口,所以要重启服务     
(5)测试:     
window中的测试,需要把CA的证书下载到本地安装上才能正常使用     
在这里我们是自建证书,所以才这样,(cacrt.pem----->本地--->并重名为cacrt.crt---->双击安装即可)
1384120_1407677916KlMR.jpg    
浏览器:https://www.ning.com
1384120_14076779169WOL.jpg   
Linux中的测试:因为自建证书的原因,需要我们把自建证书的CA的自签证书复制过来,(#scp 172.16.3.20:/etc/pki/CA/cacert.pem /root/)     
测试命令:openssl s_client     
# openssl s_client -connect 172.16.3.20:443 -CAfile /root/cacert.pem     
(指定连接那个服务器的IP和端口 -connect 172.16.3.20:443 ;指定刚复制过来的证书:-CAfile /root/cacert.pem)     
GET /index.html HTTP/1.0     
Host: www.ning.com     
#openssl s_client -connect 172.16.3.20:443---如果不指定证书     
Verify return code: 21 (unable to verify the first certificate)----将提示无法校验证书

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-23532-1-1.html 上篇帖子: 解决httpd: Could not reliably determine the server's fully qualified domain name 下篇帖子: 配置http使用mod_ssl模块工作于https模型 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表