首页
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
更多
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
Docker是如何神奇的解决了我的SSL版本问题?
体娱
2024-08-03 09:31
山东
最近,在忙一个小项目,把公司的出差业务对接到携程!
以前出差,员工就需要从公司借钱来支付车票、住宿费。如果懒得借款,就需要自己先垫付,回公司以后再报销。
这个做法的缺点,就是过程不友好。要么走繁琐的公司审批流程,要么自己先付费。无论哪一种,都让人很不舒服。
对接到携程之后,就不牵涉到钱的问题。员工可以直接从携程商旅上面订票,订机票,订酒店和火车票。到了月末,携程就会统一和公司结算,非常方便。
那我们公司跟携程对接有什么问题呢?
问题在于一个单据-出差申请单。这个单据申请单,就是一个证明,表明公司认可出差的必要性,就是为了管控,毕竟不能随随便便就出差,来一场说走就走的旅行!
携程对于这种情况,提供了一个专门的名词-”提前审批“。
我需要做的,就是给携程提供一个申请单号,并把它推送到携程上面去。有了这个号码,用户才能订票,从而达到一个”审批“的效果。
我的解决方案,就是写一个Java程序,运行在Linux上面,用cron定时30分钟运行一次,把已经审批通过的”出差申请单“推送到携程。
我们的数据库系统是SqlServer 2008R。
在Windows上面,我用Jetbrain的IDEA的时候,是可以运行的。
当我把程序打包,放到目标Linux-一台Ubuntu 22.04上面的时候,出现了一个问题。它却出现了一个错误,提示”SSL错误,无法连接到数据库“。
这个错误的原因是SqlServer2008使用的TLS版本是1.1,而Ubuntu22.03则早就不支持1.1版本了。我们知道,通讯的两端必须语言一致才行,否则鸡同鸭讲,必然失败。
没办法,我就开始搜索解决方法。
很快,一个解决方法进入了我的眼帘,那就是修改Ubuntu的OpenSSL配置文件,让它支持TLS1.1。
没办法,只好照做。
在修改完成之后,重启一下,然后发现问题依旧,依然提示错误!
既然Ubuntu的22.04版本不行,版本太高,那用一个以前版本的Ubuntu是不是就行了?
公司还有几台老旧的Ubuntu,有14.04、16.04、18.04。
那就从最新的18.04开始!
实验了一下,很幸运,没问题。
也就是说,Ubuntu 18.04没有TLS问题,可以从这台链接数据库。
但是,我依然希望使用原来那台22.04,因为它负载最低,而且版本比较新。
那怎么办呢?
它本身TLS不行,修改配置也不行!
但是18.04能行!
这个时候,一个想法突然涌上了心头,如何把Ubuntu 18.04的环境装进22.04呢?
你可能会说,这不是扯淡吗?这就像怎样把一个独立的人装进另外一个独立的人,怎么能做得到?
其实是可以的,因为Ubuntu不是人,而是Linux!
最重要的一点,就是那个神奇的技术-Docker。
只有在Ubuntu 22.04里面安装一个Docker容器,然后在Docker里面运行一个18.04的Docker Image就可以了。
说干就干。
首先从构建”Dockerfile“文件开始,Docker会根据这个文件来构建一个Image。
实践出真知,在经过1小时的调试之后,Docker Image顺利地运行起来。
那我们怎么看执行结果呢?
一个方案,是把结果记录到数据库里面,我们查数据库就可以了。
但是,我们并没有这样的打算,因为还需要改下程序,麻烦!
我们采用的解决方案,是用python27的”一句话httpserver“,来建立了一个基于日志目录logs的Web服务器,并把端口映射出来,这样就可以方便地从浏览器查看执行结果了。
至此,就比较完美地解决了SqlServer 2008的TLS版本过低的问题,完美绕过了Ubuntu和Sqlserver的ssl不匹配问题!
我是明月,
Docker很神奇,值得你拥有!
http://mp.weixin.qq.com/s?__biz=MjM5NzQwOTM2Mg==&mid=2257488749&idx=1&sn=7b7cdae26fa850250454794d77c16ab1
明月三千
将进酒,杯莫停。与君歌一曲,请君为我倾耳听。荔枝成为linux大师!
最新文章
为什么不用魔改windows,反而一直和linux死磕?
如何才能在中国禁掉违反人性的Linux系统?
孩子沉迷游戏严重,还是沉迷Linux严重?
互联网已经抹除绝大部分信息差,为什么大部分人依然进步甚微?
Linux内核移除俄罗斯开发者,Linus居然同意了
学习Linux有什么用?
从技术层面,谈谈HarmonyOS Next开发初体验!
杨笠和京东的事件,一个臭搞技术的人是怎么看的?
为什么今天还有人觉得Win10不如Win7?
Linux里面的那些“黑话”
为什么很多程序员讨厌微软?
为什么2024年了,学校还在用CentOS,不用目前流行的Linux发行版系统?
《黑神话·悟空》的热度是因为游戏出彩还是宣传到位?
写过的最愚蠢的代码是什么?
Java为什么要分Service层、DAO层和Controller层?
什么时候你认识到“技术永无出路”?
Rust语言的难点在哪里?
Win10是不是不如Win7?
暴雪是不是让人感觉它没落?
学习Linux,是看文档学,还是看视频学?
为什么很多人对Linux很抵触!
Java学习能不能跳过Servlet?
为什么有SpringBoot还需要Java?
为什么很多人喜欢重装系统?
从C#转到Java,他哭泣的像个孩子
中国人是不是很少用Linux?
Visual Studio适合初学者编程吗?
逆向思维,提高能力的好助手
怎样把Windows替换成Linux一个系统?
周末了,不写技术,来点游戏!
写作用Mac还是Windows笔记本?
Linux Shell编程难还是SQL编程难?
Ubuntu打造成办公系统
如何美化Linux系统?
为什么《黑神话 悟空》不用Java开发?
Java很稳定,是不是一句谎言?
替换Java,Kotlin、C#、Go谁是最佳选择?
Go是否适合桌面系统?
停留在Java8的人,如果Java8停止支持了,怎么办?
如何看待鸿蒙内核超越Linux内核?
想买一台ThinkPad装Linux,需要注意的有哪些?
PostgreSQL确实有过人之处,MySQL这个事情很难办到!
主要写论文和代码,用Mac还是Linux?
怎样卸载干净Java?
Docker是如何神奇的解决了我的SSL版本问题?
有了ChatGPT,是不是人人都会编程?
为什么计算机语言不能更简单一些?
为什么现在的武侠没有以前的好看了?
ArchLinux安装算难吗?
为什么在你心中,Java就是No.1.其它语言靠边站?
分类
时事
民生
政务
教育
文化
科技
财富
体娱
健康
情感
旅行
百科
职场
楼市
企业
乐活
学术
汽车
时尚
创业
美食
幽默
美体
文摘
原创标签
时事
社会
财经
军事
教育
体育
科技
汽车
科学
房产
搞笑
综艺
明星
音乐
动漫
游戏
时尚
健康
旅游
美食
生活
摄影
宠物
职场
育儿
情感
小说
曲艺
文化
历史
三农
文学
娱乐
电影
视频
图片
新闻
宗教
电视剧
纪录片
广告创意
壁纸头像
心灵鸡汤
星座命理
教育培训
艺术文化
金融财经
健康医疗
美妆时尚
餐饮美食
母婴育儿
社会新闻
工业农业
时事政治
星座占卜
幽默笑话
独立短篇
连载作品
文化历史
科技互联网
发布位置
广东
北京
山东
江苏
河南
浙江
山西
福建
河北
上海
四川
陕西
湖南
安徽
湖北
内蒙古
江西
云南
广西
甘肃
辽宁
黑龙江
贵州
新疆
重庆
吉林
天津
海南
青海
宁夏
西藏
香港
澳门
台湾
美国
加拿大
澳大利亚
日本
新加坡
英国
西班牙
新西兰
韩国
泰国
法国
德国
意大利
缅甸
菲律宾
马来西亚
越南
荷兰
柬埔寨
俄罗斯
巴西
智利
卢森堡
芬兰
瑞典
比利时
瑞士
土耳其
斐济
挪威
朝鲜
尼日利亚
阿根廷
匈牙利
爱尔兰
印度
老挝
葡萄牙
乌克兰
印度尼西亚
哈萨克斯坦
塔吉克斯坦
希腊
南非
蒙古
奥地利
肯尼亚
加纳
丹麦
津巴布韦
埃及
坦桑尼亚
捷克
阿联酋
安哥拉