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

[经验分享] 配置Apache支持HTTPS

[复制链接]

尚未签到

发表于 2018-11-18 10:07:02 | 显示全部楼层 |阅读模式
1、演示环境:
192.168.1.145:CentOS 6.9 x86_64,Apache服务器
192.168.1.146:CentOS 7.4 x86_64,私建的CA服务器
备注:Apache和CA可以位于同一台服务器


2、192.168.1.145安装httpd服务,并启动:
# yum -y install httpd  -->  版本:httpd-2.2.15
# cd /etc/httpd/conf
# cp httpd.conf httpd.conf.bak
# vim httpd.conf  -->  ServerName localhost:80
# service httpd start
# ss -tnl | grep :80


3、创建虚拟主机页面存放目录及测试页:
# mkdir -pv /web/vhosts/htdocs
# cd /web/vhosts/htdocs
# vim index.html  -->  Index Page
# vim test.html  -->  Test Page


4、创建基于主机名的虚拟主机:
# vim /etc/httpd/conf/httpd.conf,末尾新增如下代码:
DSC0000.jpg
# service httpd reload


5、以管理员权限运行notepad,修改本地Windows 10的C:\Windows\System32\drivers\etc\hosts文件,末尾新增代码:192.168.1.145 web.vhosts.com,保存修改后访问测试页
DSC0001.jpg

DSC0002.jpg

DSC0003.jpg

  

6、192.168.1.146创建私有CA:
(1)安装相关软件包:# yum -y install openssl openssh-clients
备注:OpenSSL的配置文件是/etc/pki/tls/openssl.cnf,此处无需修改,使用默认配置即可
(2)创建保存证书信息的数据库文件:# touch /etc/pki/CA/index.txt
(3)创建保存证书序列号的文件:# echo 01 > /etc/pki/CA/serial
(4)生成私钥cakey.pem:# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
DSC0004.jpg
备注:genrsa子命令常用选项

  • genrsa:用于生成RSA密钥对的OpenSSL子命令
  • -out cakey.pem:私钥保存位置
  • 2048:密钥长度,也可以使用1024或4096
更多genrsa子命令选项可查看:# man genrsa
(5)生成CA证书cacert.pem:
# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
DSC0005.jpg
其中ca.keyso.com为证书颁发者
备注:req子命令常用选项

  • req:用于证书签署请求和证书生成的OpenSSL子命令
  • -new:生成新证书签署请求
  • -x509:专用于CA生成自签证书
  • -key cakey.pem:生成CA证书请求时用到的私钥
  • -days 7300:证书的有效期限为20年
  • -out cacert.pem:证书的保存路径
更多req子命令选项可查看:# man req


7、192.168.1.145生成证书签署请求文件并发送至192.168.1.146:
(1)安装相关软件包:# yum -y install openssh-clients
(2)创建用于存放密钥的目录:# mkdir -pv /etc/httpd/ssl
(3)生成私钥web-vhosts-com.key:# (umask 077; openssl genrsa -out /etc/httpd/ssl/web-vhosts-com.key 2048)
DSC0006.jpg (4)生成证书签署请求文件web-vhosts-com.csr:
# openssl req -new -key /etc/httpd/ssl/web-vhosts-com.key -days 7300 -out /etc/httpd/ssl/web-vhosts-com.csr
DSC0007.jpg 其中web.vhosts.com为证书颁发的对象
(5)将证书签署请求文件web-vhosts-com.csr发送至192.168.1.146:
# scp /etc/httpd/ssl/web-vhosts-com.csr root@192.168.1.146:/etc/pki/CA/certs
8、192.168.1.146签署证书并发还给192.168.1.145:
(1)签署证书:
# openssl ca -in /etc/pki/CA/certs/web-vhosts-com.csr -days 7300 -out /etc/pki/CA/certs/web-vhosts-com.crt
DSC0008.jpg 备注:ca子命令常用选项

  • ca:用于签署证书请求的OpenSSL子命令
  • -in web-vhosts-com.csr:证书签署请求文件路径
  • -days 7300:证书的有效期限为20年
  • -out web-vhosts-com.crt:证书的保存路径
更多ca子命令选项可查看:# man ca
DSC0009.jpg (2)将证书web-vhosts-com.crt发还给192.168.1.145:
# scp /etc/pki/CA/certs/web-vhosts-com.crt root@192.168.1.145:/etc/httpd/ssl
(3)192.168.1.145查看证书信息:
DSC00010.jpg
# openssl x509 -in /etc/httpd/ssl/web-vhosts-com.crt -noout -text       //显示的信息多
# openssl x509 -in /etc/httpd/ssl/web-vhosts-com.crt -noout -subject
# openssl x509 -in /etc/httpd/ssl/web-vhosts-com.crt -noout -serial
DSC00011.jpg
备注:

  • 使用私钥web-vhosts-com.key和证书web-vhosts-com.crt生成微软专用证书web-vhosts-com.crt.pfx:
# cd /etc/httpd/ssl
# openssl pkcs12 -export -out web-vhosts-com.pfx -inkey web-vhosts-com.key -clcerts -in web-vhosts-com.crt
DSC00012.jpg

  • 使用微软专用证书web-vhosts-com.pfx生成私钥web-vhosts-com.key和证书web-vhosts-com.crt:
# openssl pkcs12 -in web-vhosts-com.pfx -nodes -out web-vhosts-com.pem
DSC00013.jpg
# openssl rsa -in web-vhosts-com.pem -out web-vhosts-com.key
DSC00014.jpg
# openssl x509 -in web-vhosts-com.pem -out web-vhosts-com.crt


9、192.168.1.145配置Apache支持SSL:
(1)安装SSL模块:# yum -y install mod_ssl
备注:yum方式安装的Apache默认没有装载SSL模块,即没有/etc/httpd/conf.d/ssl.conf配置文件,也没有/usr/lib64/httpd/modules/mod_ssl.so模块文件
DSC00015.jpg
(2)配置HTTPS虚拟主机并访问测试页:
# vim /etc/httpd/conf/httpd.conf,末尾新增如下代码:
DSC00016.jpg
备注:上述内容也可在配置文件/etc/httpd/conf.d/ssl.conf中直接修改
# httpd -t
# service httpd reload
# ss -tnl | grep :443
DSC00017.jpg

  

DSC00018.jpg

  

DSC00019.jpg

DSC00020.jpg

DSC00021.jpg

(3)将所有HTTP请求(80端口)重定向到HTTPS(443端口),并访问测试页:
# vim /etc/httpd/conf/httpd.conf,在和标签中新增如下代码:
DSC00022.jpg
# httpd -t
# service httpd reload
直接访问web.vhosts.com,会自动跳转至https://web.vhosts.com
DSC00023.jpg
直接访问web.vhosts.com/test.html,会自动跳转至https://web.vhosts.com/test.html
DSC00024.jpg
/etc/httpd/conf/httpd.conf最终末尾一共新增了如下代码:
DSC00025.jpg


10、在360安全浏览器中安装证书:
(1)360安全浏览器中访问效果:
DSC00026.jpg
(2)将192.168.1.146中的证书/etc/pki/CA/cacert.pem保存至本地Windows10桌面,并重命名为cacert.crt
(3)在360安全浏览器中安装证书:设置 --> 安全设置 --> 管理HTTPS/SSL证书
DSC00027.jpg

  

DSC00028.jpg

  

DSC00029.jpg

  

DSC00030.jpg

  

DSC00031.jpg

  

DSC00032.jpg

  

DSC00033.jpg

  

DSC00034.jpg

(4)重新打开360安全浏览器,再次访问测试页:
DSC00035.jpg

DSC00036.jpg

已没有“证书风险”的提示
(5)查看证书信息:
DSC00037.jpg

  

DSC00038.jpg

备注:如果是生产环境中需要使用证书,建议从正规的证书颁发机构处申请。


  





运维网声明 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-636473-1-1.html 上篇帖子: 11.18 Apache用户认证 下篇帖子: apache ab 的post测试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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