Linux apache怎么实现https的配置

http协议:

默认使用80端口的应用层协议使用tcp协议进行传输。http协议主要是用来是实现万维网站点资源的访问。

ssl(安全套接层)协议:

  全称为Secure Sockets Layer。在工作和传输层之间,对应用层协议的网络连接进行加密保护。

https协议:

  http协议+ssl协议。默认使用tcp的443端口。

Linux apache怎么实现https的配置

https协议的工作过程:

Linux apache怎么实现https的配置

客户端发起HTTPS请求
  用户在浏览器里输入一个https网址,然后连接到服务器的443端口

服务端的配置
  采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥

传送服务器的证书给客户端
  证书里其实就是公钥,并且还包含了很多信息,如证书的颁发机构,过期时间等等

客户端解析验证服务器证书
  这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如:颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书中公钥对该随机值进行非对称加密

客户端将加密信息传送服务器
  这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了

服务端解密信息
  服务端将客户端发送过来的加密信息用服务器私钥解密后,得到了客户端传过来的随机值

服务器加密信息并发送信息
  服务器将数据利用随机值进行对称加密,再发送给客户端

客户端接收并解密信息
  客户端用之前生成的随机值解密服务段传过来的数据,于是获取了解密后的内容

apache实现https的流程:

Apache是一款以模块化为特征的软件,许多功能都依赖于不同的模块来提供。加载对应的模块就能实现对应的功能。

流程:

1.为apache服务器申请证书

2.配置apache的https功能

3.验证https

apache申请证书的方式

1.搭建私有CA实现证书的颁发

2.使用CentOS7快速生成一个自签名证书

[root@ansible certs]# pwd/etc/pki/tls/certs[root@ansible certs]# lsca-bundle.crt  ca-bundle.trust.crt   make-dummy-cert  Makefile  renew-dummy-cert#取消makefile文件中对私钥文件的加密[root@ansible certs]# vim Makefile%.key:        umask 77 ;         #/usr/bin/openssl genrsa -aes128 $(KEYLEN) > $@        /usr/bin/openssl genrsa  $(KEYLEN) > $@#生成证书[root@ansible certs]# make Makefile httpds.crt

3.通过阿里云等网站下载免费的证书(需要有域名)

配置apache的https功能

安装mod_ssl软件包,安装mod_ssl软件包后会自动生成apache的ssl配置文件和模块。

[root@CentOS8 ~]# rpm -ql mod_ssl/etc/httpd/conf.d/ssl.conf  #ssl模块的配置文件/etc/httpd/conf.modules.d/00-ssl.conf #加载ssl模块/usr/lib/.build-id/usr/lib/.build-id/e6/046e586d8d19fb92e3f8484a62203e841c3e2a/usr/lib/systemd/system/httpd-init.service/usr/lib/systemd/system/httpd.socket.d/10-listen443.conf/usr/lib64/httpd/modules/mod_ssl.so  #模块文件/usr/libexec/httpd-ssl-gencerts/usr/libexec/httpd-ssl-pass-dialog/usr/share/man/man8/httpd-init.service.8.gz/var/cache/httpd/ssl

修改配置文件:

[root@CentOS8 ~]# vim /etc/httpd/conf.d/ssl.conf  SSLCertificateFile /data/apache/apache1.crt  #apache的证书文件  SSLCertificateKeyFile /data/apache/apache1.key  #apache的私钥文件  SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt #apache的证书链文件    证书链文件:不指定证书链文件,它就不知道这个证书是谁颁发的。证书链就是上级CA的证书

验证:

  设置windows的hosts文件用于验证

windows的hosts文件位置:C:WindowsSystem32driversetc格式:ip地址 名字

Linux apache怎么实现https的配置

以上就是Linux apache怎么实现https的配置的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/124544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
《战地6》多人试玩:破坏系统展示、维修工具恶趣味创作
上一篇 2025年11月27日 01:40:19
微软悄悄推出Android专属Copilot应用,助力工作效率
下一篇 2025年11月27日 01:43:22

相关推荐

  • Mockito中利用自定义ArgumentMatcher实现集合内参数匹配

    mockito并未提供直接的`in()`参数匹配器来判断方法参数是否包含在指定集合中。本文将详细介绍如何利用`intthat`(或`argthat`)结合lambda表达式或自定义匹配器,灵活实现对方法参数是否属于某个集合的条件匹配,从而在测试存根(stubbing)或验证(verification…

    2026年9月20日
    000
  • 添加未广播WiFi网络方法

    添加未广播WiFi网络方法添加未广播WiFi网络方法添加未广播WiFi网络方法添加未广播WiFi网络方法

    当无线wifi网络关闭了ssid广播功能时,笔记本电脑将无法自动检测到该网络,需通过手动方式添加网络信息才能成功连接。 1、 打开控制面板,进入“网络和共享中心”,点击“管理无线网络”选项。 2、 在无线网络管理界面中,点击“添加”按钮,开始配置新网络。 3、 系统将弹出“手动创建网络配置文件”的窗…

    2026年9月20日 用户投稿
    100
  • Linux如何解决rpm依赖关系错误

    Linux如何解决rpm依赖关系错误Linux如何解决rpm依赖关系错误Linux如何解决rpm依赖关系错误Linux如何解决rpm依赖关系错误

    使用YUM可自动解决RPM依赖,通过yum localinstall安装本地包或yum install自动处理依赖;2. 较新系统推荐使用DNF,命令为dnf install 包名.rpm,依赖解析更高效;3. 无法使用YUM/DNF时可手动处理,通过rpm -ivh查看缺失依赖,再下载并按序安装;…

    2026年9月20日 用户投稿
    000
  • Java中将包含嵌套列表的对象列表扁平化为单一元素列表的转换技巧

    本文探讨了在java中如何将一个包含嵌套列表的对象列表进行转换,使其生成一个新的列表,其中每个对象内部的嵌套列表只包含一个元素。文章详细介绍了三种实现方式:基于java 7及以前版本的传统循环方法、利用java 8至java 15的stream api结合`flatmap`操作,以及java 16及…

    2026年9月20日
    200
  • 怎样在VSCode中比较两个文件的差异?

    VSCode内置文件比较功能可通过命令面板或资源管理器右键菜单启动,操作简便无需插件;2. 使用“Compare Active File With…”或“Select for Compare”后选择文件即可并排查看差异;3. 差异显示中绿色为新增、红色为删除内容,支持逐项浏览与导航,适用…

    2026年9月20日
    000
  • VSCode怎么查看NPM版本_VSCode NPM版本查询教程

    在VSCode中查看NPM版本,需打开集成终端并输入npm -v或npm –version。1. 使用快捷键Ctrl + (Windows/Linux)或Cmd + (macOS)打开终端;2. 输入命令npm -v执行;3. 终端将显示当前NPM版本号,如8.19.2。该方法可快速验证…

    2026年9月20日
    000
  • 如何为VSCode配置C++开发环境?

    答案:配置VSCode的C++环境需安装MinGW-w64编译器并添加到PATH,安装C/C++和可选Code Runner扩展,创建.c_cpp_properties.json、tasks.json和launch.json文件以配置编译器路径、编译任务和调试设置,最后通过编译运行测试代码验证配置成…

    2026年9月20日
    100
  • LINUX怎么修改用户密码_Linux修改或重置用户密码的命令

    使用passwd命令可修改用户密码,root可通过sudo passwd用户名重置他人密码,配合-e参数可强制用户下次登录改密,结合chpasswd可实现非交互式批量设密。 在Linux系统中,修改或重置用户密码是一个常见的系统管理操作。无论是普通用户修改自己的密码,还是管理员为其他用户重置密码,都…

    2026年9月20日
    200
  • MySQL索引是什么_如何通过索引提升查询性能?

    MySQL索引是什么_如何通过索引提升查询性能?MySQL索引是什么_如何通过索引提升查询性能?MySQL索引是什么_如何通过索引提升查询性能?MySQL索引是什么_如何通过索引提升查询性能?

    索引通过排序+查找结构提升查询速度,适合加索引的字段包括where条件、join连接、order by和group by中的字段,但唯一值少、数据量小或频繁更新的字段不适合。常见误区有索引失效、模糊查询左侧通配符、联合索引顺序错误、冗余索引等。可通过explain命令查看索引使用情况,定期清理无用索…

    2026年9月20日 用户投稿
    000
  • Mockito ArgumentMatcher:优雅实现参数集合包含性验证

    本文探讨了在mockito中,当需要验证方法参数是否包含在特定集合中时,如何克服标准`argumentmatchers`的限制。通过利用`argumentmatchers.intthat()`(或`argthat()`)结合lambda表达式,可以灵活地实现自定义的参数匹配逻辑。文章还介绍了如何将此…

    2026年9月20日
    000
  • Linux怎么删除用户的某个附属组

    Linux怎么删除用户的某个附属组Linux怎么删除用户的某个附属组Linux怎么删除用户的某个附属组Linux怎么删除用户的某个附属组

    删除Linux用户附属组需先用gpasswd -d移除用户,再用usermod -G更新组列表,确保组定义与用户权限一致,避免权限不一致风险。 删除Linux用户某个附属组,其实就是修改用户所属的组列表。关键在于理解Linux用户组的概念以及如何安全地修改用户账户信息。 解决方案 使用 gpassw…

    2026年9月20日 用户投稿
    000
  • 网络存储系统中SMB与NFS协议在传输效率上的差异对比

    SMB与NFS性能差异主要取决于应用场景:SMB适用于Windows环境和权限精细管理,NFS更适合Linux集群和高性能计算;在小文件操作中NFS快10%-30%,大文件传输两者吞吐接近,NFS在虚拟化场景IOPS高15%-20%,SMB在混合读写与AD集成下更优;建议使用SMB 3+/NFSv4…

    2026年9月20日
    000
  • 绝境北方兑换码有什么 绝境北方最新2025兑换码分享

    绝境北方最新通用兑换码有:north888、viking2025、ship666等等,可在游戏内商城直接兑换,获得黄金龙头船首像、1000铁与建造速度+15%等丰厚奖励,限时有效先到先得,也可在修改器中享受更多福利。 享受无限物品|游戏作弊器: 绝境北方最新2025兑换码如下: NORTH888:兑…

    2026年9月20日
    500
  • Java中通过PKCS12证书实现OkHttp客户端认证的POST请求

    本教程详细介绍了如何在java应用中,利用okhttp库执行需要客户端证书认证的post请求。我们将重点讲解如何加载pkcs12格式的证书文件,配置keystore和keymanagerfactory,初始化sslcontext,并将其集成到okhttpclient中,以确保请求的安全性和认证的正确…

    2026年9月20日
    000
  • Linux如何进入上级目录的方法

    使用cd命令配合目录符号可进入上级目录,cd ..切换到上一级,cd ../..进入上两级,依此类推,执行后可用pwd查看当前路径确认位置,注意cd与..之间需有空格。 在Linux系统中,进入上级目录是一个常见操作,主要通过命令行完成。核心命令是使用 cd (change directory)配合…

    2026年9月20日
    100
  • 如何使用Laravel队列(Queues)提升性能?

    是的,laravel队列可以显著提升应用性能。通过将耗时任务推入队列异步处理,用户可以立即得到响应,从而提高应用的响应速度和稳定性。例如,将邮件发送任务推入队列后,用户下单时无需等待邮件发送即可完成操作,减轻了服务器负载。 使用Laravel队列(Queues)提升性能?这是一个非常好的问题!在我的…

    2026年9月20日
    100
  • 百度AI如何提升企业运营效率_百度AI企业运营效率提升策略

    通过引入百度AI技术优化企业运营,1. 部署智能电话客服系统,利用语音识别与UNIT技术实现自动应答;2. 实施智能语音质检,将通话转文本并分析情绪与风险;3. 启用人脸识别考勤,提升安全性与效率;4. 构建OCR单据识别体系,实现信息自动录入,全面提升电销、客服与办公协同效率。 ☞☞☞AI 智能聊…

    2026年9月20日
    100
  • 在Java中高效提取整数的最小与最大数字

    本文详细介绍了在java中如何从一个整数中提取其包含的最小和最大数字。通过采用数学运算(取模和除法)或字符串转换两种方法,实现对整数各位数字的遍历与比较,从而高效地找出并显示这些极值数字。文章提供了具体的代码示例,并探讨了不同方法的适用场景与注意事项。 在Java编程中,我们有时需要从一个给定的整数…

    2026年9月20日
    000
  • windows怎么设置文件和打印机共享_Windows文件打印机共享设置方法

    首先启用网络发现和文件共享,进入控制面板→网络和共享中心→更改高级共享设置,启用网络发现并开启文件和打印机共享;接着右键目标文件夹→属性→共享→高级共享→勾选共享此文件夹,通过权限按钮添加Everyone并设置读取或更改权限;然后确保SMB协议启用,前往控制面板→程序→启用或关闭Windows功能,…

    2026年9月20日
    100
  • Linux如何排查软件包安装失败的原因

    Linux如何排查软件包安装失败的原因Linux如何排查软件包安装失败的原因Linux如何排查软件包安装失败的原因Linux如何排查软件包安装失败的原因

    安装失败时先查看错误提示,重点识别依赖缺失、签名错误、仓库不可达等问题;2. 更新包列表确保索引最新;3. 使用包管理器检查依赖并修复;4. 查阅系统及包管理日志定位具体失败环节;5. 检查GPG密钥与软件源配置正确性;6. 可尝试手动安装或使用替代方案。 当在Linux系统中安装软件包失败时,通常…

    2026年9月20日 用户投稿
    100

发表回复

登录后才能评论
关注微信