当前位置: 首页 > news >正文

ubuntu10.04 apache2.2开启tls1.2的支持,使现代的edge和firefox浏览器能正常访问https

最近发现自己ubuntu10.04服务器上的apache https无法通过win11上的edge和firefox浏览器访问,但xp下的ie6和ie8没有问题。
firefox的错误提示为“此网站可能不支持TLS 1.2协议,而这是Firefox支持的最低版本”。
经过检查发现:
IE6访问https所需的版本是SSLv3。
IE8访问https所需的版本是TLS1.0。
但win11上的edge和最新版本的firefox浏览器访问https所需的版本是TLS1.2。

使apache服务器支持TLS1.2需要的服务器运行环境:
apache对应版本应>=2.2.23
OpenSSL对应版本应>=1.0.1

查看apache和openssl的版本:
apache2 -v
openssl version -a
查看openssl支持的加密算法:
openssl ciphers -v

ubuntu10.04里面能用sudo apt-get安装的最高版本是
Server version: Apache/2.2.14 (Ubuntu)
Server built:   Mar  5 2015 18:11:29
OpenSSL 0.9.8k 25 Mar 2009
built on: Thu Mar 19 15:32:30 UTC 2015
所以必须自己编译新版的apache2和openssl。

系统默认的apache2和openssl都是安装在/usr下的。两者安装在同一目录下,安装文件直接混合在一起。
我们自己源码编译安装的默认是/usr/local/apache2和/usr/local/ssl,两者是分开的。

源码编译安装openssl 1.0.1f:
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1f.tar.gz --no-check-certificate
tar xf openssl-1.0.1f.tar.gz
cd openssl-1.0.1f/
./config shared
make
sudo make install

查看刚安装的openssl版本:
/usr/local/ssl/bin/openssl version -a
/usr/local/ssl/bin/openssl ciphers -v

源码编译安装apache2,注意用--with-ssl绑定新安装的openssl:
在浏览器里面下载https://archive.apache.org/dist/httpd/httpd-2.2.23.tar.gz (wget命令不好使了)
tar xf httpd-2.2.23.tar.gz
cd httpd-2.2.23
./configure --enable-deflate --enable-expires --enable-heads --with-mpm-worker --enable-rewrite --enable-so --with-included-apr --enable-ssl --with-ssl=/usr/local/ssl --enable-mods-shared=all
make
sudo make install

查看新安装的apache2里面的mod_ssl模块:
ls -l /usr/local/apache2/modules/mod_ssl.so

将新安装的libssl.so.1.0.0所在的路径加入LD_LIBRARY_PATH列表中:
在/etc/ld.so.conf.d文件夹中新建一个mynewssl.conf文件,内容为/usr/local/ssl/lib。
然后执行sudo ldconfig。

打开/usr/local/apache2/conf/httpd.conf,将
Include conf/extra/httpd-ssl.conf
取消注释。

打开/usr/local/apache2/conf/extra/httpd-ssl.conf,正确配置证书文件路径,如:
SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

启动新安装的apache2:
sudo /usr/local/apache2/bin/apachectl start
停止新安装的apache2:
sudo /usr/local/apache2/bin/apachectl stop

然后再访问https,就可以访问成功了。在firefox里面也可以看到apache已经支持tls1.2了。

IE6:

IE8:

win11下的edge浏览器:

win11下的ie11浏览器:

相关文章:

ubuntu10.04 apache2.2开启tls1.2的支持,使现代的edge和firefox浏览器能正常访问https

最近发现自己ubuntu10.04服务器上的apache https无法通过win11上的edge和firefox浏览器访问,但xp下的ie6和ie8没有问题。 firefox的错误提示为“此网站可能不支持TLS 1.2协议,而这是Firefox支持的最低版本”。 经过检查发现: IE6访问https所需的版本是SS…...

算法学习(持续更新中)

学习视频:一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)_哔哩哔哩_bilibili 时间复杂度 一个操…...

蓝桥杯 2023 省B 飞机降落

首先&#xff0c;这题要求的数据量比较少&#xff0c;我们可以考虑考虑暴力解法。 这题可能难在很多情况的考虑&#xff0c;比如说&#xff1a; 现在时间是10&#xff0c;有个飞机20才到&#xff0c;我们是可以干等10分钟。 #include <iostream> #include <…...

基于python的变配电室运行状态评估与预警系统flask-django-nodejs-php

近年来,随着我国工业化、城镇化步伐的不断加快&#xff0c;城市配电网络取得令人瞩目的发展成果。变配电室是供配电系统的核心&#xff0c;在供配电系统中占有特殊的重要地位[1]。变配电室电气设备运行状态和环境信息缺乏必要的监测评估预警手段&#xff0c;如有一日遭遇突发情…...

el-table左键双击单元格编辑内容(输入框输入计算公式可直接得出结果),右键单击展示操作菜单,可编辑单元格高亮展示

vue2点击左侧的树节点&#xff08;el-tree&#xff09;定位到对应右侧树形表格(el-table)的位置&#xff0c;树形表格懒加载 表格代码 <el-table ref"singleTable" :data"detailsList" highlight-current-row"" row-key"detailId"…...

实现HBase表和RDB表的转化(附Java源码资源)

实现HBase表和RDB表的转化 一、引入 转化为HBase表的三大来源&#xff1a;RDB Table、Client API、Files 如何构造通用性的代码模板实现向HBase表的转换&#xff0c;是一个值得考虑的问题。这篇文章着重讲解RDB表向HBase表的转换。 首先&#xff0c;我们需要分别构造rdb和hba…...

10:00面试,10:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到8月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…...

【Python】: Django Web开发实战(详细教程)

Python Django全面介绍 Django是一个非常强大的Python Web开发框架&#xff0c;它以"快速开发"和"干净、实用的设计"为设计宗旨。本文将从Django的基本概念开始&#xff0c;逐渐引导大家理解如何使用Django构建复杂的web应用程序。 Django基本概念与原理…...

突破编程_C++_C++11新特性(tuple)

1 std::tuple 简介 1.1 std::tuple 概述 std::tuple 是一个固定大小的不同类型值的集合&#xff0c;可以看作 std::pair 的泛化&#xff0c;即 std::pair 是 std::tuple 的一个特例&#xff0c;其长度受限为 2。与 C# 中的 tuple 类似&#xff0c;但 std::tuple 的功能更为强…...

xss.pwnfunction(DOM型XSS)靶场

环境进入该网站 Challenges (pwnfunction.com) 第一关&#xff1a;Ma Spaghet! 源码&#xff1a; <!-- Challenge --> <h2 id"spaghet"></h2> <script>spaghet.innerHTML (new URL(location).searchParams.get(somebody) || "Somebo…...

安装 docker 和 jenkins

安装 docker #安装 软件包 docker yum install -y yum-utils device-mapper-persistent-data lvm2#设置 yum 源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-c…...

jni入门学习 CMakeLists脚本

在 Android Studio 中使用 CMake 可以编译 C/C 代码&#xff0c;这为开发者提供了在 Android 应用中嵌入本地代码的能力。下面是关于在 Android Studio 中使用 CMake 编译的详细说明&#xff1a; 1. 创建 CMakeLists.txt 文件&#xff1a; 首先&#xff0c;你需要在项目的根目…...

如何在没有向量数据库的情况下使用知识图谱实现RAG

引言 传统上&#xff0c;为大型语言模型&#xff08;LLMs&#xff09;提供长期记忆通常涉及到使用检索增强生成&#xff08;RAG&#xff09;解决方案&#xff0c;其中向量数据库作为长期记忆的存储机制。然而&#xff0c;我们是否能在没有向量数据库的情况下达到相同效果呢&am…...

6.如何判断数据库搜索是否走索引?

判断是否使用索引搜索 索引在数据库中是一个不可或缺的存在&#xff0c;想让你的查询结果快准狠&#xff0c;还是需要索引的来帮忙&#xff0c;那么在mongo中如何判断搜索是不是走索引呢&#xff1f;通常使用执行计划&#xff08;解释计划、Explain Plan&#xff09;来查看查询…...

Java并发编程的性能优化方案中,哪些方法比较常用

在Java并发编程的性能优化方案中&#xff0c;以下是一些常用的方法&#xff1a; 线程池的使用&#xff1a; 线程池可以复用线程&#xff0c;避免频繁地创建和销毁线程&#xff0c;从而提高系统性能。常用的线程池有FixedThreadPool、CachedThreadPool等。根据任务特性选择合适…...

AcWing 2867. 回文日期(每日一题)

原题链接&#xff1a;2867. 回文日期 - AcWing题库 2020 年春节期间&#xff0c;有一个特殊的日期引起了大家的注意&#xff1a;2020 年 2 月 2 日。 因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202&#xff0c;恰好是一个回文数。 我们称这样的日期是…...

学习笔记-华为IPD转型2020:3,IPD的实施

3. IPD的实施 1999 年开始的 IPD 转型是计划中的多个转型项目中的第一个&#xff08;Liu&#xff0c;2015&#xff09;。华为为此次转型成立了一个专门的团队&#xff0c;从大约20人开始&#xff0c;他们是华为第一产业的高层领导。董事会主席孙雅芳是这个团队的负责人。该团…...

2024腾龙杯web签到题-初识jwt(签到:这是一个登录页面)

什么是 jwt? 它是 JSON Web Token 的缩写&#xff0c;是一个开放标准&#xff0c;定义了一种紧凑的、自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息&#xff0c;该信息可以被验证和信任&#xff0c;因为它是数字签名的。它就是一种认证机制&#xff0c;…...

Monaco Editor系列(一)启动项目与入门示例解析

前言&#xff1a;作为一名程序员&#xff0c;我们工作中的每一天都在与代码编辑器打交道&#xff0c;相信各位前端程序员对 VS Code 一定都不陌生&#xff0c;VS Code 可以为我们提供代码高亮、代码对比等等功能&#xff0c;让我们在开发的时候&#xff0c;不需要对着暗淡无光的…...

DNA存储技术原理是什么?

随着大数据和人工智能的发展&#xff0c;全球每天产生的数据量剧增&#xff0c;对存储设备的需求也随之增长&#xff0c;数据存储问题日益凸显。传统的硬盘驱动器&#xff08;HDD&#xff09;、磁带等冷存和深度归档存储占据数据中心存储的60-70%&#xff0c;由于它们的访问频率…...

3步上手BepInEx:让你的Unity游戏模组开发更简单

3步上手BepInEx&#xff1a;让你的Unity游戏模组开发更简单 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 想要为喜欢的Unity游戏制作模组&#xff0c;却不知道从哪里开始&#x…...

因果推理不是AGI的加分项,而是生死线,深度拆解3大主流架构在Do-Calculus测试中的崩溃临界点

第一章&#xff1a;因果推理不是AGI的加分项&#xff0c;而是生死线 2026奇点智能技术大会(https://ml-summit.org) 大型语言模型可以流畅续写《哈姆雷特》&#xff0c;却无法回答“若国王未饮毒酒&#xff0c;奥菲莉亚是否还会溺亡&#xff1f;”——这不是知识缺失&#xff…...

HTML函数在超频CPU上更流畅吗_超频对HTML函数影响【技巧】

HTML函数不受CPU超频影响&#xff0c;其执行速度由浏览器引擎、事件循环和网络栈决定&#xff1b;超频仅提升Web Workers中计算密集型任务性能&#xff0c;却可能降低计时精度并暴露竞态问题。HTML函数根本不受CPU超频影响超频CPU不会让 document.getElementById、setTimeout 或…...

别再死磕单层AHB了!用Multi-Layer AHB搭建高性能SoC的保姆级思路

解锁Multi-Layer AHB&#xff1a;复杂SoC设计的性能加速器 当你在设计一个需要同时处理CPU运算、DMA数据传输和GPU渲染的复杂SoC时&#xff0c;传统的单层AHB总线架构很快就会成为性能瓶颈。想象一下早高峰的地铁站&#xff0c;如果所有人只能通过一个闸机进出会是怎样的场景—…...

【仅限本周开放】:AGI蛋白质折叠预测工程化部署指南(Docker+Kubernetes+GPU量化推理全流程,含NVIDIA Triton部署模板)

第一章&#xff1a;AGI的蛋白质折叠预测能力 2026奇点智能技术大会(https://ml-summit.org) 通用人工智能&#xff08;AGI&#xff09;系统在蛋白质结构建模领域已展现出超越传统专用AI模型的能力&#xff0c;其核心突破在于将多尺度物理约束、进化序列共变信息与三维几何生成…...

从STC8G1K08A到SG90舵机:一个宿舍断电关灯器的硬件选型与避坑全记录

STC8G1K08A与SG90舵机的实战融合&#xff1a;智能断电关灯器的硬件设计精要 深夜被突如其来的灯光惊醒&#xff0c;这种体验对于宿舍生活的学生来说再熟悉不过。传统机械开关在断电后无法自动复位的问题&#xff0c;催生了一个有趣的硬件项目——基于STC8G1K08A单片机和SG90舵机…...

Spring源码速成笔记,普通Java程序员进阶必备!

大多数Java程序员Spring框架还没有一个清楚的认知。拿Spring来说&#xff0c;现在面试面试官一般会直接问&#xff1a;谈一下你对Spring的理解&#xff1f;不会像以前的面试一样直接给你具象出某一个具体的点&#xff0c;而是给你抛出一个很大的范围&#xff0c;然后根据你回答…...

如何用ModAssistant快速解决Beat Saber模组安装的3大痛点

如何用ModAssistant快速解决Beat Saber模组安装的3大痛点 【免费下载链接】ModAssistant Simple Beat Saber Mod Installer 项目地址: https://gitcode.com/gh_mirrors/mo/ModAssistant 你是否曾因Beat Saber模组安装的复杂依赖关系而头痛&#xff1f;是否遇到过版本冲突…...

第四章 ROBOGUIDE核心操作与仿真实战

1. ROBOGUIDE入门&#xff1a;从零开始搭建仿真环境 第一次打开ROBOGUIDE时&#xff0c;满屏的英文界面和复杂工具栏确实容易让人发懵。记得我刚开始接触时&#xff0c;光是找"新建项目"按钮就花了十分钟。其实只要掌握几个关键区域&#xff0c;就能快速上手这个强大…...

Python医学图像分割评估实战:MedPy核心指标详解与应用

1. 医学图像分割评估为什么需要量化指标&#xff1f; 在医学影像分析领域&#xff0c;图像分割的质量直接影响后续诊断和治疗方案的制定。想象一下&#xff0c;如果医生需要评估一个脑肿瘤分割算法&#xff0c;仅靠肉眼观察两张分割结果图&#xff08;算法预测结果和专家标注的…...