转帖 From

https://www.cnblogs.com/xjnotxj/p/7252043.html

一、环境:

CentOS 6.8
nginx 1.6.0
php 7.0.10

二、背景

最近开发一个小程序,而小程序对后台接口服务器的要求是:

1、请求域名在request合法域名
2、基于 https 协议
3、TLS 版本 1.2+

1、2 两条都满足了,但是第三条亟待解决,导致小程序调用接口时报错:

三、正文

(1)为什么要满足 TLS 版本 1.2+ ?

2017年1月1日起,苹果强制所有 app 满足 HTTPS,即 iOS9 推出的 App Transport Security (ATS) 特性。

访问 https://www.qcloud.com/product/ssl#userDefined10 ,
输入域名,检查您的 iOS app 是否满足 ATS 特性:

报错了,提示不支持 TLS1.2。

(2)如何满足 TLS 版本 1.2+ ?

1、openSSL 版本 1.0.1+

查看 openSSL 版本:

openssl version -a

2、nginx 版本为 0.7.65,0.8.19 及更高版本

查看 nginx 版本:

nginx -V

结果是,我的版本都符合要求。

(3)nginx 配置 TLS1.2

本人申请的是腾讯云的安全证书,官方有提供 nginx 如何配置的文档:
https://www.qcloud.com/document/product/400/6973#1.nginx-.E8.AF.81.E4.B9.A6.E9.85.8D.E7.BD.AE

配置 nginx.conf 支持 TLS1.2 的方法如下(看 ssl_protocols 参数):

server {listen 443;server_name www.domain.com; #填写绑定证书的域名 ssl on; ssl_certificate 1_www.domain.com_bundle.crt; ssl_certificate_key 2_www.domain.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置 ssl_prefer_server_ciphers on; location / { root html; #站点目录 index index.html index.htm; } }

四、遇到的问题

按照上文一切都做完之后,发现还是不行。

折腾好久之后。

发现,原来是 nginx 之前有配另一个 https 的 server,关于
ssl_protocols 的参数值为:

  ssl_protocols  SSLv2 SSLv3 TLSv1;

里面根本没有包含 TLSv1.2!从而影响了我们这个 server!

所以把改成:

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

再测试:

完美。

以及启用的方法 更高级别安全性的方法
The DEFAULT System.Net.ServicePointManager.SecurityProtocol in both .NET 4.0/4.5 is:SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls..NET 4.0 supports up to TLS 1.0 while .NET 4.5 supports up to TLS 1.2However, an application targeting .NET 4.0 can still support up to TLS 1.2 if .NET 4.5 is installed in the same environment. .NET 4.5 installs on top of .NET 4.0, replacing System.dll.I've verified this by observing the correct security protocol set in traffic with fiddler4 and by manually setting the enumerated values in a .NET 4.0 project:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 |(SecurityProtocolType)768 | (SecurityProtocolType)3072;

转载于:https://www.cnblogs.com/jinanxiaolaohu/p/9677762.html

[转帖]TLS 版本问题相关推荐

  1. android设置tls版本,Android O移除HttpsURLConnection中不安全的TLS版本回退

    原标题:Android O移除HttpsURLConnection中不安全的TLS版本回退 为提高安全性,在 Android O 中,已从 HttpsURLConnection 中移除不安全的 TLS ...

  2. 微信小程序免费SSL证书https、TLS版本问题的解决方案

    微信小程序与第三方服务器通讯的域名5个必要条件 1.一个已备案的域名,不是localhost.也不是127.0.0.1,域名不能加端口 2.加ssl证书,也就是https://~~~ 4.HTTPS ...

  3. 开发微信小程序中SSL协议的申请、证书绑定、TLS 版本处理等

    在上篇随笔<基于微信小程序的系统开发准备工作>介绍了开发微信小程序的一些前期的架构设计.技术路线 .工具准备等方面内容,本篇随笔继续这个步骤,逐步介绍我们实际开发过程中对SSL协议的申请及 ...

  4. 今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2...

    今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2 查官方文档 解决方法 在 PowerShell中运行以下内容, 然后重启服务器 # Enab ...

  5. SSLContext.getInstance()中参数设置TLS版本无效的问题

    问题:SSLContext sc = SSLContext.getInstance("TLSv1.1")设置后,https握手连接使用中使用的TLS版本还是jdk的默认版本(jdk ...

  6. Fri Oct 18 2019 11:16:14 GMT+0800 (中国标准时间) 配置中关闭合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书检查

    问题1:Fri Oct 18 2019 11:16:14 GMT+0800 (中国标准时间) 配置中关闭合法域名.web-view(业务域名).TLS 版本以及 HTTPS 证书检查 解决:勾选一下就 ...

  7. 火狐浏览器修改tls版本(分分钟)

    火狐浏览器修改tsl版本 1.官网安装火狐 2.进入设置 3.修改TLS协议版本 4.测试 1.官网安装火狐 https://www.firefox.com.cn/download/#product- ...

  8. Android HTTPS、TLS版本支持相关解决方案

    前言 简介 HTTPS相关 名词解释 图解HTTPS协议加密解密全过程 异常解决 问题描述 原因 分析 解决方案 参考链接 前言 在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证 ...

  9. 【解决】小程序要求的 TLS 版本必须大于等于 1.2

    2019独角兽企业重金招聘Python工程师标准>>> 此问题最近在微信小程序开发中,比较常见. 在解决这个问题之前,我们需要了解一下,当前的系统环境是否支持TLS1.2以上,可以参 ...

最新文章

  1. python 记录日志到日志服务器_Python日志模块的使用与思考:服务器程序将每日日志写入每日日志文件,logging,及,把,每天,到,当天,中...
  2. in的绑定 mysql_MySQL IN语句的PDO绑定值
  3. c语言循环结构程序设计视频,第13讲:循环结构程序设计1
  4. 【Git/Github】第一次提交和再次添加文件
  5. 问到ConcurrentHashMap不要再提Segment了
  6. Tomcat内部结构
  7. scala调用java代码
  8. 在 WSL2.0 的 Ubuntu 18 里使用 Docker
  9. Java 8 Friday Goodies:Lambda和SQL
  10. easyUI学习笔记二
  11. 只用2000行代码实现google protocol buffer c++版的功能
  12. hdu1284钱币兑换问题
  13. 团队作业三——项目思考
  14. SEO网站优化步骤超详细完整版教程
  15. PassMark PerformanceTest v10.1.1004 电脑性能测试工具直装版
  16. 宁向东管理课:自我力
  17. opencv-python 详解图像梯度、边缘检测
  18. 计算机网络atm功能,计算机网络实用技术知识点之ATM原理
  19. 中兴echat_公网对讲机都有哪些平台?
  20. 电子计算机厂房火灾危险性,三氯化磷储罐的火灾危险性分类?

热门文章

  1. mysql Access denied for user root@localhost错误处理备忘
  2. mysql中用HEX和UNHEX函数处理二进制数据的导入导出
  3. js兼容注意事项--仅供参考
  4. freemarker配置
  5. [Ray Linn]用Visual Studio 2008开发IE BHO(浏览器帮助对象) 之二
  6. mount:在/dev/sr0上找不到媒体
  7. oracle ajax储存过程分页,创建 Oracle 分页存储过程
  8. Homebrew软件包管理器中发现RCE漏洞,小心你的Mac和Linux
  9. 1276: 求和游戏
  10. 关于strlwr,strupr等函数在此作用域中尚未声明的问题