人生贵在坚持!

发布新日志

  • ubuntu中mongodb认证失败的问题处理

    2019-07-29 17:28:18


    使用robo 3t远程连接mongo,总是报错


    尝试了很多方法,都始终解决不了。

    后来发现原来用apt-get安装的mongodb并不是最新版
    root@ubuntu:~# mongo
    MongoDB shell version: 2.6.10
    connecting to: test

    而3.0以下的版本并不支持SCRAM-SHA-1,只支持MONGODB-CR

    > db.auth({user:'username',pwd:'password',mechanism:'SCRAM-SHA'})
    Error: 2 SCRAM-SHA mechanism support not compiled into client library.
    0
    所以在使用robot 3t采用MONGODB-CR认证就可以了。

    不过还是建议把mongodb升级为3.0以上。

  • ubuntu中给username授权mysql

    2019-07-26 17:26:33


    *********************授权********************
    root@ubuntu:~# mysql -u root -p
    Enter password: 

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;    

    mysql> flush privileges;

    mysql> exit;

    root@ubuntu:~# service mysql restart

    ***************回收权限***************************
    mysql>  revoke all on *.* from username;

    mysql> flush privileges;

    mysql> exit;

    root@ubuntu:~# service mysql restart
  • mango中执行数据更新

    2019-02-18 12:53:26


    查询level不等于0的数据:
    db.getCollection('tablename').find({level:{$ne:0}})


    扩展:
    "$lt", "$lte", "$gt", "$gte", "$ne"就是全部的比较操作符,对应于"<", "<=", ">", ">=","!="。


    修改level不等于0的数据,改为0:

    db.tablename.update({level:{$ne:0}},{$set:{level:0}},false,true)


    扩展:
    第三个参数设置为true,代表insertOrUpdate,即存在即更新,否则insert该数据

    第四个参数,该参数为true,则批量更新,为false,则更新一条 

  • 【每日】webservice相关基础

    2019-01-21 10:21:23

    SOAP
    SOAP即简单对象访问协议(Simple ObjectAccess Protocol),它是用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。
    SOAP最早是针对RPC的一种解决方案,简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMTP等)。但是随着SOAP作为WebService的广泛应用,不断地增加附加的内容,使得现在开发人员觉得SOAP很重,使用门槛很高。在SOAP后续的发展过程中,WS-*一系列协议的制定,增加了SOAP的成熟度,也给SOAP增加了负担。

    REST:

    Representational State Transfer

    REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应用协议。


    选择SOAP Webservice和Restful Webservice的使用,首先需要理解就是SOAP偏向于面向活动,有严格的规范和标准,包括安全,事务等各个方面的内容,同时SOAP强调操作方法和操作对象的分离,有WSDL文件规范和XSD文件分别对其定义。而REST强调面向资源,只要我们要操作的对象可以抽象为资源即可以使用REST架构风格。


    Web Service 希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。

    WSDL

    Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

    UDDI

    UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

  • 【每日一积累】web端和app端自动化测试

    2019-01-21 09:20:27

    appnium:是一个移动端的自动化框架

    appnium工作原理:appnium会首先开启一个监听4723端口的server,接收测试脚本(WebDriver script:我们的测试脚本(java or python))发送过来的对应请求,再将对应的请求发送给中间件Bootstrap.jar(注意这里的请求不是整个脚本文件,而是对应的命令请求)。

    Bootstrap.jar监听4724端口由appium发送过来的相关请求,并且将请求转换成UiAutomator可以识别的命令发给UiAutomator进行处理。

    Android上使用了instrumentation和uiautomator两套技术。iOS使用uiautomation。所以appnium可以同时支持Android和iOS。

    -------------------------------------------------

    -------------------------------------------------

    selenium:Selenium是ThoughtWorks公司的一个强大的开源Web功能测试工具系列,采用Javascript来管理整个测试过程,包括读入测试套件、执行测试和记录测试结果。

    Selenium 是一种 Web 应用的自动测试工具,通过模拟用户对 Web 页面的各种操作,可以精确重现软件测试人员编写的 Test Cases 步骤。Selenium 包含三个工具:Selenium-IDE,Selenium-RC 以及 Selenium-Core。

    其中,Selenium-Core 是驱动 Selenium 工作的核心部分,作为一个用 JavaScript 编写的测试引擎,它可以操作 Web 页面上的各种元素,诸如:点击按钮、输入文本框,以及断言 Web 页面上存在某些文本与 Web 元素等。

    Selenium-IDE 是一个 Firefox 插件,能够录制回放用户在 Firefox 中的行为,并把所记录的 Selenese (Selenium Commands) 转化为Java/C#/Python/Ruby 等语言,在 Selenium-RC 中修改复用。对于较为复杂的 Test Cases,Selenium-IDE 的功能有限,往往用它录制大致的步骤,再转化为测试人员熟悉的编程语言,在此基础上完善,形成更为强大且灵活的 Selenium-RC Test Cases。

    Selenium-RC(Selenium Remote Control)在 Web 浏览器与需要测试的 Web 应用间架设代理服务器(Selenium Server),使得 javascript 引擎与被测 Web 应用同源,绕开同源策略的限制(Same Origin Policy),进而取得对 Web 页面进行各种操作的权限。

     Selenium Grid 允许用户将测试案例分布在几台机器上并行执行。用户可以在一个集中控制点控制不同的环境。在不同的浏览器 / 系统组合上面更为容易的运行测试案例。允许用户更多的利用虚拟资源减少了维护测试环境的成本。

    -------------------------------------------------

    -------------------------------------------------

    WebDriver的工作原理:

    从技术上讲,有三个角色:

    1. WebDriver API(基于Java、Python、C#等语言):对于java语言来说,就是下载下来的selenium的Jar包,比如selenium-java-3.8.1.zip包,代表Selenium3.8.1的版本

    2. 浏览器的驱动(browser driver):每个浏览器都有自己的驱动,均以exe文件形式存在。比如谷歌的chromedriver.exe、火狐的geckodriver.exe、IE的IEDriverServer.exe

    3. 浏览器:浏览器当然就是我们很熟悉的常用的各种浏览器。

    那在WebDriver脚本运行的时候,它们之间是如何通信的呢?

    1 对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动;

    2 浏览器驱动中包含了一个HTTP Server,用来接收这些http请求;

    3 HTTP Server接收到请求后根据请求来具体操控对应的浏览器;

    4 浏览器执行具体的测试步骤;

    5 浏览器将步骤执行结果返回给HTTP Server;

    6 HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。

    -------------------------------------------------
    -------------------------------------------------
    WSDL: Web Service Description Language
    XML: Extensible Makeup Language
    SOAP: Simple Object Access Protocal



  • 【每日一积累】元素定位及操作

    2018-12-28 15:55:42

    -常用来识别页面元素的工具包括:
    1 uiautomator: Android SDK自带的工具;
    2 monitor:Android SDK自带的工具;
    3 Appium Inspector: Appium自带的功能;

    -元素定位
    1 通过accessibility
    例如:driver.find_element_by_accessibility_id("天猫超市").text

    Using XPath locators is not recommended and can lead to fragile tests. Ask your development team to provide unique accessibility locators instead!

    2 通过ID
    例如:driver.find_element_by_id("com.pay:id/show_transaction").clear()

    3 通过xpath
    例如:driver.find_element_by_xpath("//android.widget.TextView[@text='JavaScript']").click()

    4 通过className
    例如:driver.find_element_by_class_name("android.widget.LinearLayout").send_key("1111")


    -元素操作
    1 click():点击
    2 clear():清空输入框内容
    3 send_keys(xx):输入框内输入内容
    4 text:获取元素的text内容


  • 【每日一积累】Jmeter如何嵌套使用变量

    2018-12-27 16:15:32

    在进行并发测试的时候,使用JDBC方式连接数据库获得orderId,
    然后在接口中使用查询到的orderId做并发,但是并发时发现并发的线程使用的orderId是同一个……

    如何解决这个问题??翻找了一些资料,也请教了一下大神,最后找到一种简单可行的方法,如下:

    {
      "orderId": "${__V(orderId_${__threadNum})}"
    }

    说明:
    ${_threadNum}:获取当前线程的编号
    orderId_${__threadNum}:获取orderId第threadNum个值
    _v():用于执行嵌套函数引用

  • 【每日一积累】monkey的简单使用

    2018-12-27 15:33:01

    - 查看包名
    C:\Users\DELL-7>aapt dump badging  G:\1.0.1.apk


    - 运行monkey,对此包进行300次无规律点击后将日志导出到电脑的某一位置 
    adb shell monkey -p 包名 -v 点击数 > 电脑txt文件路径

    - 在导出的txt文件中查找“ANR”无响应问题或者“Exception”(崩溃问题),快速定位到关键事件信息,并手动执行,找出重现步骤。
  • sql生成随机数的方法

    2018-03-20 15:01:03

    #生成6位长度,其中首位是字母'T'的随机数

    select LEFT( CONCAT( 'T', LEFT( REVERSE( RAND( ) ) , 10 ) ) , 6 )

    解析:
    RAND():
    返回从01之间的随机浮点值,例如'0.8523584183793128'

    REVERSE():返回字符串值的逆向值,例如REVERSE('0.8523584183793128')的结果为'8213973814853258.0'

    LEFT(<
    字符表达式a>,<位数b>):从字符表达式最左边第一个字符开始返回指定数目的字符. b 的值大于 a 的长度,则返回字符表达式的全部字符a.如果 b 为负值或 0,则返回空字符串.

    CONCAT(字符串1,字符串2): 用于将两个字符串连接起来,形成一个单一的字符串。

  • Jmeter中使用JDBC向数据库插入中文数据乱码问题的处理

    2018-03-16 16:58:03

    Jmeter中使用JDBC Request向数据库插入中文数据,最后发现中文乱码了。
    尝试了修改jmeter.properties文件里面的编码格式,无效。
    最后终于在群友的指导下,修改了JDBC的配置,在Database URL中增加了编码格式,具体为:jdbc:mysql://<server ip>:3306/student?characterEncoding=UTF-8,然后终于插入数据库的中文显示正常了。

    点滴成长,贵在坚持。

  • IP Wizard无法运行的解决办法

    2017-11-02 15:07:11

    运行ip wizard,提示“The IP wizard does not support DHCP- enabled network cards.Your cards are either DHCP-enabled or configured with invalid settings.Exiting...

    解决办法:
    1、禁用无线网连接:网络图标右击 - 打开网络和共享中心 - 更改适配器设置 - 禁用无线网络
    2、将IP地址设置为静态:
       1>查看ip地址和dns:ipconfig/all
       2>本地连接属性中写入固定ip地址和dns
    3、在administrator用户下操作。
  • jmeter函数之时间函数__time

    2017-10-12 17:09:00


    常用于带时间戳的地方

    比如:带时间戳的结果文件,每次运行生成独立文件

    ${__time(,)}         1450056496991 //无格式化参数,返回当前毫秒时间  

    ${__time(yyyyMMdd,)} 20151214      //返回年月日  

    ${__time(HHmmss,)}   092816        //返回时分秒  

    ${__time(yyyyMMdd-HHmmss,)} 20151214-092816 //全 

  • tomcat一个站点绑定多个域名的问题处理

    2017-05-31 14:11:44

    tomcat中一个站点绑定多个域名,在conf\server.xml的host中增加:
    <Host name="站点名1"  appBase="站点路径" unpackWARs="true" autoDeploy="true">
        <Alias>站点名2</Alias>
        <Context path="" docBase="站点路径" 
         debug="0" reloadable="true" />
    </Host>


  • 处理数据阻塞和死锁

    2017-05-27 10:03:39

    某天对正在使用的某个数据库操作离线,导致数据库阻塞,离线失败,查找了半天,终于处理。

    --查询阻塞语句:
    SELECT a.blocking_session_id, a.wait_duration_ms, a.session_id,b.text
    FROM sys.dm_os_waiting_tasks a,
    (SELECT t.text ,c.session_id
    FROM sys.dm_exec_connections c 
    CROSS APPLY sys.dm_exec_sql_text (c.most_recent_sql_handle) t) b 
    WHERE  a.session_id = b.session_id and a.blocking_session_id IS NOT NULL
    --处理方式:
    --使用kill session ID的语句来终止某个阻塞的session。
    kill [blocking_session_id];

    --另外死锁的查询和处理如下:
    exec master.dbo.sp_who_lock --查看当前死锁进程
    exec master.dbo.p_killspid ytsafety--杀掉引起死锁的进程

    --查询死锁

    select   
        request_session_id spid,  
        OBJECT_NAME(resource_associated_entity_id) tableName   
    from   
        sys.dm_tran_locks  
    where   
        resource_type='OBJECT 

    --杀死死锁进程

    kill spid 




  • 苹果审核时IPV6失败的处理

    2017-05-17 17:20:08

    最近公司的APP提交苹果审核,由于IPV6遭遇拒绝。
    最初是将APP所引用的所有地址都在外网进行解析,提交审核仍失败。
    然后是通过教育网IPV6转为IPV4访问,部分页面加载失败,审核仍失败。
    最后是使用阿里云ECS在境外服务器上部署站点,最终审核成功。
    我们的处理方式是这样的,比如原先的站点地址是A:
    1 在境外ECS上部署新的站点A1,APP引用站点A1的地址,然后提交苹果审核,这样必然审核通过(不用A,是不影响当前线上版本的使用,及安卓APP);
    2 苹果审核通过后,将站点A1解析到国内原先站点A对应的服务器,并将A1站点绑定到A上,这样用户更新版本后,通过APP访问A1时,就可以访问到原先搭建的站点了,我们仍然只需要维护A站点;
    3 下次再审核时,需要在境外ECS上部署新的站点A2,APP引用站点A2,然后提交苹果审核(不能使用A1,该地址当前正在被使用);
    4 审核通过后,将站点A2解析到A对应的服务器,并将A2绑定到A上。用户更新版本后,通过APP访问A2时,仍可访问到A站点;
    5 再下次审核时,又使用A1,但是在提交审核前需要在国内原先站点A解绑A1,并将A1解析到境外ECS服务器。

    有个问题,比如用户从A更新到A1,然后发布A2版本时未更新,而在我们使用A1提交苹果审核时,用户使用APP就会访问到国外的服务器,不过我们只需要在境外ECS服务器都部署提示更新的接口。

    以上,是我们处理苹果IPV6审核不通过所采取的措施。
  • 测试APP的一些关注点

    2017-05-12 14:14:38

    测试APP需要特别关注的一些点,包括:
    1 使用APP时,手机耗电情况;
    2 APP占用手机内存情况;
    3 APP安装包的大小;
    4 使用APP时,流量消耗情况;
    5 APP在wifi,4g,3g,2g网络下的表现;
    6 APP支持的系统及其版本;
    7 手机来电时,APP的运行表现;
    8 APP各页面的跳转及返回,其中安卓考虑物理返回键;
    9 不同分辨率的兼容性;

  • 浅谈上传图片功能的测试点

    2017-04-26 11:13:28

    说到上传图片,我们一般都会想到以下一些测试点:
    1 图片格式,支持jpg,jpeg,gif,png等等;
    2 图片大小,允许上传的图片大小;
    3 图片上传后,图片分辨率的检查,保证图片不失真,不变形;
    4 上传相同名称的图片,具体看需求,是对上传后的图片进行重命名,还是不允许同名;
    5 上传过程中,是否可重复操作上传;

    想得多点的,还有:
    6 出于安全考虑,变种的可执行文件,进行上传,如.exe.jpg;
    7 出于性能考虑,在服务器存放图片的目录查看,上传后的图片与原图片,大小不会发生猛烈上涨;而一般开发会对图片做适量的压缩,所以上传后的图片一般是等于或者小于原图片大小的;

    以上是对上传图片功能测试点的一些总结!
  • 应用池崩溃的问题,已处理

    2017-04-10 13:13:05

    今天遇到一个奇葩的问题,IIS有个站点比如叫www.baidu.com,之前运行都正常,突然今天运行就报503错误,排查发现是该站点应用池A停止了。
    重启应用池,再次访问仍报503错误,应用池又停止了。
    给站点更换一个应用池B,站点就运行正常了。
    尝试下来发现,只要应用池重命名为A,站点运行就报503……神了!!!

    查看event viewer,该站点报错日志为“Windows cannot log you on because your profile cannot be loaded. Check that you are connected to the network, and that your network is functioning correctly.

     DETAIL - Access is denied.”
    **********************************************
    后续
    第二天继续排查这个问题,http://www.cnblogs.com/onlytiancai/archive/2007/06/03/769309.html ,根据这个博文,我去翻查了C:\Windows\System32\LogFiles\HTTPERR ,日志里记录了: HTTP/1.1 GET / 503 27 AppOffline www.baidu.com,如果是AppOffline可能是由于应用程序标识出错引起的,原因是应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组。

    然后我就尝试把应用池的AdvancedSettings里面的Identity从ApplicationPoolIdentity改为了更高权限的NetworkService,至此问题也算是基本解决,只是还不是最终解决!!!




  • 阿里云服务器IIS7.5启用TLS 1.2的方法

    2016-12-30 10:47:57

    上次在我们的测试服务器使用之前的方法来将TLS升级为1.2版本很顺利,可是等正式上线的时候,我们的服务器确是阿里云的,结果导致APP无法登陆,原因是发生了 SSL 错误,无法建立与该服务器的安全连接。
    使用火狐浏览器打开APP需要调用的站点,结果发现TLS版本仍然是1.0,注册表更改未生效,所有的配置都重新检查了一遍,没有问题。。。。一瞬间,只剩下头疼。。。

    最后去阿里云的管理后台查看相关的帮助文档,谜底终于揭开,所以我必须在此记录一下,也给即将遇到此种问题的朋友们提供一个解决的办法。

    一、修改注册表,内容如下,可以生成reg格式直接执行:
    ATS.rar(755 B )

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL]
    "EventLogging"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\AES 128/128]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\AES 256/256]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 128/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128]
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RSA 128/128]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple AES 128/128]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple AES 256/256]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\Triple DES 168/168]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\CipherSuites]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SH512]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA256]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA384]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA512]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\Diffie-Hellman]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\ECDH]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\KeyExchangeAlgorithms\PKCS]
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Client]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Server]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Client]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
    "DisabledByDefault"=dword:00000001
    "Enabled"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]
    "Enabled"=dword:00000000
    "DisabledByDefault"=dword:00000001

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
    "Enabled"=dword:ffffffff
    "DisabledByDefault"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
    "Enabled"=dword:ffffffff
    "DisabledByDefault"=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
    "DisabledByDefault"=dword:00000000
    "Enable"=dword:00000001
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
    "DisabledByDefault"=dword:00000000
    "Enable"=dword:00000001
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
    "DisabledByDefault"=dword:00000000
    "Enable"=dword:00000001
    "Enabled"=dword:ffffffff

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
    "DisabledByDefault "=dword:ffffffff
    "Enable"=dword:00000000
    "Enabled"=dword:ffffffff
    "DisabledByDefault"=dword:00000000

    二、修改系统组策略 

    1 点击开始 - > 输入gpedit.msc;
    2
    展开计算机配置 - > 管理模板- > 网络,并选择SSL配置设置
    3
    双击SSL密码套件顺序和检查启用
    4
    SSL密码套件复制内容,并将其粘贴到记事本;
    5
    将下面的内容移动到文档的开头:  TLS_RSA_WITH_AES_256_CBC_SHA256TLS_RSA_WITH_AES_256_CBC_SHA
    6
    复制以上的密码套件,并粘贴到SSL密码套件箱在组策略中,然后单击确定
    7
      重新启动服务器,以使更改生效;


    参考:http://jackstromberg.com/2013/09/enabling-tls-1-2-on-iis-7-5-for-256-bit-cipher-strength/?spm=5176.7748151.2.5.rxMkmt