热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

通向架构师的道路(第二天)之apachetomcathttps应用

前言

   1、标题与某位大牛写的文章保持一致,有致敬和借鉴成分。

   2、我不是大牛,对各位有参考意义最好,若有错误,请评论说明,不胜感激。

   3、当你看到别人博客并实现之并自己写出相应文章,才算了解。不然只是自欺欺人。

   4、我回过头看我写的这篇博客  还是很乱  可能具体原理还不是很透彻  但是至少是自己一步一步实验成功的

 说明

  1、http走的是80端口,而https走的是443端口,且https使用的是RSA非对称128位加密。

  2、https比http更安全,安全在哪?http://zhanzhang.baidu.com/wiki/383 (一篇值得一看的文章)也可以不断的百度知乎达到自己理解为止

 3、本文使用的是apache2.2.11,为啥特别强调这个版本。这个版本自带mod_ssl.so模块。之前为了使用2.2.23百度无数,没有解决问题,后来某篇博客提到使用2.2.11自带的版本

 4、下载链接(若下载链接失效 评论索要)

    链接: https://pan.baidu.com/s/1nXF2Px2ZP1b6jT9T0gpFCg 密码: 5u33      apache

    链接: https://pan.baidu.com/s/13LTm_OAFknooCrh-4MdvTw 密码: cge6    openssl

一  openssl签证书

 下载链接里面的openssl 当你使用的时候会出现很多错误,因为即使这个是windows版本的,但是里面很多盘符也要修订。基本可以靠自己解决,错误看看稍微想想 改下配置文件就行了。这里一笔带过。

一、生成根证书
生成根证书所用**
不需要设置环境变量 只需要cd命令进入openssl.exe所在文件夹即可
openssl genrsa -des3 -out ca.key 1024
去除CA**口令
openssl rsa -in ca.key -out ca.key 代表这个证书在被应用程序启动时不需要显示的提示用户输入口令
生成CA即ROOT CA证书自签
openssl req -new -x509 -key ca.key -out ca.crt -config openssl.cnf
//Common Name-要安装这台证书的主机名
hosts文件配置
localhost helloworld
xxx.xxx.xx.xxx helloworld
IE 导入上面生成的ROOT证书
二、生成web服务器端证书
生成web服务器端证书**
openssl genrsa -des3 -out server.key 1024
去除CA**口令
openssl rsa -in server.key -out server.key 
生成web服务器端证书签名请求
openssl req -new -key  server.key -out server.csr
用Root CA去对Web服务器的证书请求即csr(certificate request)进行签名认证
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
请用比较工具 比较改变项  然后添加对应项即可  要有灵性!!不能生搬硬套
三、为Apache HttpServer布署https协议
下载地址 链接: https://pan.baidu.com/s/1bZTtxQBNbZtAI0tUV8MXWg 密码: smmy
四、为Tomcat也布署https协议
Web的信任域就是你的IE里的内容里的证书里的“根级信任域”,App Server的信任域是打不开也不能访问这块地方的,而且App Server的信任域格式也不是crt文件,而是.jks(javakey store的简称)。
生成Tomcat的SSL证书
怎么生成证书?回顾一下上文:
1)  生成KEY
2)  生成证书请求
3)  用CA签名
生成JKS**对,密码使用6个a,alias代表“别名”,CN代表Common Name,必须与主机名完全一致我的主机名是helloworld
keytool -genkey -alias helloworldX509 -keyalg RSA -keysize 1024 -dname "CN=helloworld, OU=insurance-dart, O=Cognizant, L=SH, S=SH, C=CN" -keypass aaaaaa -keystore helloworld.jks -storepass aaaaaa
生成JSK的CSR
keytool -certreq -alias helloworldX509 -sigalg "MD5withRSA" -file helloworld.csr -keypass aaaaaa -keystore helloworld.jks -storepass aaaaaa
使用openssl结合ca.crt与ca.key为jsk的csr来签名认证并产生jks格式的crt
openssl x509 -req -in helloworld.csr -out helloworld.crt -CA ca.crt  -CAkey ca.key -days 3650 -CAcreateserial -sha1 -trustout -CA ca.crt -CAkey ca.key -days  3650 -CAserial ca.srl -sha1 -trustout
将Root CA导入jks信任域
keytool -import -alias rootca -trustcacerts -file ca.crt -keystore helloworld.jks -storepass aaaaaa
补信任链

keytool -import -alias  helloworldX509 -file helloworld.crt -keystore helloworld.jks -storepass aaaaaa

tomcat server.xml配置加入下面内容


通向架构师的道路(第二天)之apache tomcat https应用

启动 tomcat  启动apache 打开demo地址实验成功


通向架构师的道路(第二天)之apache tomcat https应用

通向架构师的道路(第二天)之apache tomcat https应用


通向架构师的道路(第二天)之apache tomcat https应用

通向架构师的道路(第二天)之apache tomcat https应用


问题解决参考网址:

https://wiki.apache.org/httpd/SSLSessionCache

https://blog.csdn.net/hfsu0419/article/details/7536408



推荐阅读
  • Nginx入门指南:从零开始掌握基础配置与优化技巧
    Nginx入门指南:从零开始掌握基础配置与优化技巧 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 解决 Windows Server 2016 网络连接问题
    本文详细介绍了如何解决 Windows Server 2016 在使用无线网络 (WLAN) 和有线网络 (以太网) 时遇到的连接问题。包括添加必要的功能和安装正确的驱动程序。 ... [详细]
  • Parallels Desktop 10 是一款功能强大的虚拟化软件,专为 Mac 用户设计,使其能够无缝运行 Windows 应用程序。该软件不仅显著提升了图形应用的性能,还优化了演示效果。对于需要在 Mac 上高效运行 Windows 程序的用户来说,Parallels Desktop 10 是一个理想的选择。本文将介绍如何获取其激活码及免费下载渠道,帮助用户轻松激活并使用这一强大工具。 ... [详细]
  • Nginx 反向代理配置与应用指南
    本文详细介绍了 Nginx 反向代理的配置与应用方法。首先,用户可以从官方下载页面(http://nginx.org/en/download.html)获取最新稳定版 Nginx,推荐使用 1.14.2 版本。下载并解压后,通过双击 `nginx.exe` 文件启动 Nginx 服务。文章进一步探讨了反向代理的基本原理及其在实际应用场景中的配置技巧,包括负载均衡、缓存管理和安全设置等,为用户提供了一套全面的实践指南。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
  • 在安装并配置了Elasticsearch后,我在尝试通过GET /_nodes请求获取节点信息时遇到了问题,收到了错误消息。为了确保请求的正确性和安全性,我需要进一步排查配置和网络设置,以确保Elasticsearch集群能够正常响应。此外,还需要检查安全设置,如防火墙规则和认证机制,以防止未经授权的访问。 ... [详细]
  • Windows环境下RabbitMQ安装详尽指南
    Windows环境下RabbitMQ安装详尽指南 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 在网络故障排查中,tcpdump 是一款强大的工具,尤其在 Linux 环境下。尽管开发环境中问题较少,但在测试或生产环境中,往往会遇到各种难以预料的异常情况。通过在问题发生的环境中启用 tcpdump 进行抓包,并重现问题,可以获取到宝贵的原始数据,为问题的诊断提供关键线索。本文将详细介绍如何使用 tcpdump 进行实战操作,帮助读者掌握这一技能。 ... [详细]
  • 在使用 `requests` 库进行 HTTP 请求时,如果遇到 `requests.exceptions.SSLError: HTTPSConnectionPool` 错误,通常是因为 SSL 证书验证失败。解决这一问题的方法包括:检查目标网站的 SSL 证书是否有效、更新本地的 CA 证书库、禁用 SSL 验证(不推荐用于生产环境)或使用自定义的 SSL 上下文。此外,确保 `requests` 库和相关依赖项已更新到最新版本,以避免潜在的安全漏洞。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
author-avatar
最棒小小丫_635
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有