Linux实现https方式访问站点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Linux实现https方式访问站点超文本传送协议(HyperTextTransferProtocol,HTML)是一种通信协议,它允许将超文本标记语言文档从web服务器传送到wel浏览器。HTML的特点:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。客户端浏览器以https的方式访问web服务器的过程:客户端通过https方式访问服务器全过程描述:1.客户机通过https访问web服务器,web服务器向客户机出示自己的证书2.客户机验证证书的有效性,包括发证时间,发证机关,执行者标识。3.如果客户机验证证书通过,客户机随机产生128位的key,再利用证书文件传递的publickey对该随即key机进行加密。4.加密后传送至服务器端,服务器再利用自己的publickey对加密的key进行解密,得到客户机的随机key值。5.这时两端的key值相同,利用该key进行加密通讯。linux下通过Apachehttpd软件实现https方式访问站点的实现:1.由于案例最后要安装mod_ssl软件,而该软件具有依赖性,所以先配置yum(本地yum)。新建挂载点,挂载光盘,编辑/etc/yum.repos.d/rhel-debuginfo.repo有关yum的详细配置请访问我的另一篇:安装服务器软件,在这里使用httpd-2.2.3-31.el5.i386.rpm,采用yum或者rpm安装rpm-ivhhttpd-2.2.3-31.el5.i386.rpmyuminstallhttpd实现Apache站点安全有三种方式:a.身份验证b.来源控制c.ssl安全套接字层下面一一实现上述3种方式:A.身份验证3.编辑/etc/httpd/conf/httpd.conf文件,修改第327行:将AllowOverrideNone改为AllowOverrideall;更改后才能使身份验证配置生效4.上步中修改AllowOverrideall是在内,对应的是对访问/var/目录内的网页时的主机进行身份验证。在/var/中产生一个隐藏文件.htaccess,在此文件中写入验证规则5.产生上步中的.password文件,并创建账户user1和user2。htpasswd[–c].htpassworduser16.切换到/var/产生网页文件,重启httpd服务B.来源控制通过控制允许哪些用户可以访问站点,哪些不能访问站点来实现来源控制的目的Orderallow,denyAllowfromall7.设置只允许192.168.101.11主机访问该站点,设置完成后重启httpd服务8.测试,ip为192.168.101.11主机可以访问该站点。9.ip为192.168.101.12主机无法访问该站点C.安全套接字层ssl搭建证书服务器CA10.编辑文件/etc/pki/tls/openssl.cnf将88行到90行的match改为optional,否则将只有和CA在同一个国家、省份、组织的主机才能从CA获得证书修改CA默认的名称选项,当向该CA提出证书申请时显示为默认。11.根据openssl.cnf文件的说明,需要创建三个目录:certsnewcertscrl和两个文件:index.txtserial12.CA证书服务器产生自己的私钥cakey.pem。opensslgenrsa1024private/cakey.pem13.CA服务器根据自己的私钥产生自己的证书:opensslreq-new-keyprivate/cakey.pem-x509-outcacert.pem-days3650该处的默认值即为第19步中修改的默认值14.修改证书文件和私钥文件的权限为60015.在服务器的根目录/etc/httpd下新建文件夹certs,用来存放服务器的私钥,请求,以及证书16.服务器产生自己的私钥:opensslgenrsa1024httpd.key17根据私钥httpd.key来产生请求文件:opensslreq-new-keyhttpd.key-outhttpd.csr18.CA服务器根据请求文件颁发证书:opensslca-inhttpd.csr-outhttpd.cert19.修改证书文件和私钥文件的权限为600现在服务器已经有自己的证书和私钥了,当客户端浏览器通过https的方式访问该web服务器,则该服务器需要将证书显示到客户端浏览器,这需要ssl和httpd相结合20.安装mod_ssl模块:yuminstallmod_ssl21.安装后,会在/etc/httpd/conf.d下产生文件ssl.conf文件22编辑ssl.conf文件23.重启httpd服务24.测试,显示有两个问题:一是颁发证书的机构不被信任,二是证书上显示的名字和该主机访问的名字不一致25.如果想要信任某个证书颁发机构,只需将该颁发机构的证书导入浏览器,但是点击查看证书,证书路径中不显示颁发机构的证书26继续修改ssl.conf,修改证书链27.重启httpd服务,再次进行测试28.点击查看证书,安装证书29安装后可在浏览器中查看30.再次差可能访问情况,显示只有名称无效31.修改hosts文件,将192.168.101.250的对应的域名设置为最后一步,修改httpd.conf文件,禁用80端口,以后只用https的方式访问重启httpd补充案例---基于IP地址的虚拟主机基于IP地址的虚拟主机多个ip多个名字端口号80多个站点实验要求:基于ip的虚拟主机,三个站点及其ip地址和站点主目录分别为:192.168.101.250要求方式访问,tec.cisco.com和mkt.cisco.com通过https的方式访问1.安装dns服务器rpm-ivhbind-9.3.6-4.P1.el5.i386.rpmrpm-ivhbind-chroot-9.3.6-4.P1.el5.i386.rpmrpm-ivhcaching-nameserver-9.3.6-4.P1.el5.i386.rpm2.在/var/named/chroot/etc下cp-pnamed.caching-nameserver.confnamed.conf3.编辑区域声明文件named.rfc1912.zones,声明区域cisco.com4.切换到目录/var/named/chroot/var/named下,cp-plocaldomain.zonecisco.com.db5.解析测试(如果在该dns服务器上测试,需要指明dns服务器地址/etc/resolv.conf或setup)6.安装httpd服务器,安装证书服务器省略7.修改httpd的配置文件httpd.confVirtualHost192.168.101.250:80ServerAdminwebmaster@sina.comDocumentRoot/var/:80ServerAdminwebmaster@sina.comDocumentRoot/var/:80ServerAdminwebmaster@sina.comDocumentRoot/var/创建,mkt的站点主目录及网页文件9.添加网卡,设置ip地址10.测试访问三个站点11.分别为三个站点新建目录用来存放各自的私钥文件。请求文件,以及证书文件。由于本实验不要求方式访问,所以该站点不用申请证书12.tec站点产生私钥文件tec_httpd.key13.tec站点根据自己私钥产生请求文件14.CA服务器为tec站点颁发证书15.同理产生mkt的私钥和请求,和证书16.修改ssl.conf文件,当客户端访问不同的站点时,加载不同的证书虚拟站点一,不使用https方式,所以此处端口为80;虚拟站点二,使用https方式访问,端口号设置为443该虚拟站点的证书文件、私钥文件、证书链位置,当客户端访问该站点时,将该证书发送给客户端虚拟站点三,使用https方式访问,端口号设置为443该虚拟站点的证书文件、私钥文件、证书链位置,当客户端访问该站点时,将该证书发送给客户端17.编辑httpd.conf文件,该文件包含ssl.conf文件。在此处,只监听192.168.101.250的80端口,如果直接写Linstn80,则所有站点的80端口都将开启,tec和mkt站点这由于在ssl.conf中定义了虚拟站点,所以在httpd.conf文档的最后不用再写虚拟主机。

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功