• 关于

    公用网络不能修改

    的搜索结果

回答

Windows 服务器远程桌面无法连接时,可以通过控制台的远程连接功能登录到服务器进行排查。远程桌面无法连接可能是由于以下几种原因: Windows Server 2012初次登录开启防火墙导致 远程端口设置超出范围导致 杀毒安全软件导致 远程终端服务配置异常导致 系统服务禁用导致 终端服务器角色配置导致 本地网络限制导致 服务器的公网带宽问题导致 远程端口修改导致 服务器内存不足导致 系统的安全策略设置导致 远程桌面服务未开启导致 Windows Server 2012初次登录开启防火墙导致 新购的 Windows 2012 实例,首次连接服务器是可以的。连接服务器并激活系统后,会提示图片中的信息,用户需要单击是,如果单击否,服务器会自动开启公网的防火墙,连接会直接断开。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 在菜单栏选择开始>控制面板 。 查看方式选择小图标,单击Windows 防火墙。 在Windows 防火墙窗口,单击高级设置。 在弹出的窗口中,单击入站规则,在右侧拉至最下方,右键单击远程桌面-用户模式(TCP-In),选择启动规则。 返回上一个页面, 单击 Windows 防火墙属性。 选择启用(推荐),单击应用。 注意:建议将域配置文件,专用配置文件,公用配置文件选项卡下的防火墙全部启用。 说明:更多关于防火墙的设置,参考设置 Windows 实例远程连接防火墙。 远程端口设置超出范围导致 无论是 Windows 实例还是 Linux 实例,服务监听能使用的端口范围为 0~65535,错误配置监听端口会导致远程桌面服务监听失败。这种情况将端口重新修改为 0~65535 之间的没有占用的其它端口即可,具体修改端口的操作方法参见修改服务器远程端口。 杀毒安全软件导致 无法连接远程桌面可能是由于三方杀毒软件设置导致。本章节列举两个修复安全狗配置导致远程访问失败的案例: 安全狗黑名单拦截导致 安全狗程序异常导致 安全狗黑名单拦截导致 如果安装了安全狗后,出现客户端本地无法远程桌面连接 ECS  Windows 服务器,无法 ping 通服务器 IP 地址,其他区域可以远程连接,且本地 tracert 路由跟踪无法到达服务器,云盾并没有清洗或清洗中的拦截 IP 并无本地公网 IP 的情况,可以查看一下对应的防护软件中是否做了安全设置或对应的拦截。 解决方法 选择 服务器安全狗>网络防火墙。单击超级黑名单的规则设置,如果黑名单中存在实例公网 IP,则将此黑名单规则删除,然后将公网 IP 添加到超级白名单。 说明:如果云盾的阈值设置过低,云端可能清洗并屏蔽实例公网 IP。建议把清洗阈值调高,避免出现拦截实例公网 IP 的情况发生。 安全狗程序异常导致 使用控制台远程连接功能登录到 Windows 实例后,在系统桌面右下角,安全狗弹出错误提示,如图: 该问题可能是由于安全狗软件出现异常导致的。 解决方法 通过 Windows 系统软件卸载安全狗软件后,重启服务器网络即可恢复。 说明:关于杀毒安全软件,参看ECS Windows三方杀毒防护软件的可能问题以及使用建议。 远程终端服务配置异常导致 无法连接 Windows 实例远程桌面可能是由于以下两种远程终端服务配置异常导致: 服务器侧自签名证书损坏 远程桌面会话主机配置连接被禁用 服务器侧自签名证书损坏 客户端如果是 Windows 7 以上版本,会尝试与服务器建立 TLS 连接。服务器侧用于 TLS 连接的自签名证书损坏后会导致远程连接失败。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 选择开始>管理工具>远程桌面服务,然后双击远程桌面会话主机配置。 选择 RDP-Tcp。在 RDP-Tcp 属性窗口,将协商模式修改成RDP安全层。 在操作栏单击禁用连接,再单击启用连接即可。 远程桌面会话主机配置连接被禁用 使用 Netstat 查询发现端口未正常监听。使用控制台远程连接功能登录到 Windows 实例后,发现远程桌面 RDP 连接属性配置文件被禁用。 解决方法 参考服务器侧自签名证书损坏找到 RDP 连接属性配置文件,如果 RDP-Tcp 被禁用,单击启用连接即可。 系统服务禁用导致 用户为了提高系统安全性,错误的将远程桌面服务所依赖的某些关键服务禁用,导致远程桌面服务异常。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 选择开始>运行。 输入 msconfig,单击确定。 在弹出的窗口中,选择常规选项卡,选择正常启动,然后重启服务器即可。 终端服务器角色配置导致 用户在使用远程桌面访问 Windows 实例的时候,有时会出现如下提示: 这种情况一般是由于在服务器上安装配置了终端服务器,但是没有配置有效的访问授权导致的。 解决方法 参见Windows 实例远程桌面报错“由于没有远程桌面授权服务器可以提供许可证”中针对主机角色提供的两种解决方案。 本地网络限制导致 通过 ping 服务器公网 IP 和 telnet 服务器公网 IP 3389 命令测试连通性,同时用其他网络环境中(不同网段或不同运营商)的电脑连接对比测试,判断是自己本地网络问题还是服务器端的问题。如果是本地网络问题或运营商问题,请您联系本地 IT 人员或运营商解决。 服务器的公网带宽问题导致 问题分析 无法远程连接可能是公网带宽不足导致的,具体排查方法如下: 登录 ECS 管理控制台。 找到该实例, 单击管理进入实例详情页面,查看网络监控数据。 检查服务器带宽是否为 1 k 或 0 k。如果购买实例时没有购买公网带宽,后来升级了公网带宽,续费的时候没有选择续费带宽,带宽就会变成 1k。 解决方法 续费 ECS 实例,然后重启实例。详情参见手动续费,自动续费。 远程端口修改导致 无法连接 Windows 实例远程桌面可能是远程桌面的端口修改后,登录方式改变导致的。修改远程连接默认的端口后,需要用“IP:端口”的方式进行远程桌面连接。 服务器内存不足导致 远程连接输入用户密码登录后,不能正常显示桌面直接退出,也没有错误信息。 问题分析 这种情况可能是服务器内存不足导致的,需要查看一下服务器的内存使用情况。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 选择开始>控制面板>管理工具,双击事件查看器。查看一下是否有内存资源不足的警告日志信息。 解决方法 如有日志信息提示内存不足,具体解决方法参考 Windows 虚拟内存不足问题的处理。 系统的安全策略设置导致 您可以查看 Windows 服务器上是否有阻止远程桌面连接的相关安全策略。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 选择开始>控制面板>管理工具,双击本地安全策略。 在弹出的窗口中,单击 IP 安全策略,查看是否有相关的安全策略。 如果有,右键单击相关策略,选择删除,或双击该 IP 安全策略来重新配置以允许远程桌面连接。然后使用再远程桌面连接。 远程桌面服务未开启导致 您可以查看 Windows 服务器的系统是否开启了远程桌面服务。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 右键单击我的电脑,选择属性>高级系统设置。 在系统属性窗口,选择远程选项卡,然后勾选允许运行任意版本远程桌面的计算机连接即可。 如解惑,望采纳。
51干警网 2019-12-02 00:35:36 0 浏览量 回答数 0

回答

Windows 服务器远程桌面无法连接时,可以通过控制台的远程连接功能登录到服务器进行排查。远程桌面无法连接可能是由于以下几种原因: Windows Server 2012初次登录开启防火墙导致 远程端口设置超出范围导致 杀毒安全软件导致 远程终端服务配置异常导致 系统服务禁用导致 终端服务器角色配置导致 本地网络限制导致 服务器的公网带宽问题导致 远程端口修改导致 服务器内存不足导致 系统的安全策略设置导致 远程桌面服务未开启导致 Windows Server 2012初次登录开启防火墙导致 新购的 Windows 2012 实例,首次连接服务器是可以的。连接服务器并激活系统后,会提示图片中的信息,用户需要单击是,如果单击否,服务器会自动开启公网的防火墙,连接会直接断开。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 在菜单栏选择开始>控制面板 。 查看方式选择小图标,单击Windows 防火墙。 在Windows 防火墙窗口,单击高级设置。 在弹出的窗口中,单击入站规则,在右侧拉至最下方,右键单击远程桌面-用户模式(TCP-In),选择启动规则。 返回上一个页面, 单击 Windows 防火墙属性。 选择启用(推荐),单击应用。 注意:建议将域配置文件,专用配置文件,公用配置文件选项卡下的防火墙全部启用。 说明:更多关于防火墙的设置,参考设置 Windows 实例远程连接防火墙。 远程端口设置超出范围导致 无论是 Windows 实例还是 Linux 实例,服务监听能使用的端口范围为 0~65535,错误配置监听端口会导致远程桌面服务监听失败。这种情况将端口重新修改为 0~65535 之间的没有占用的其它端口即可,具体修改端口的操作方法参见修改服务器远程端口。 杀毒安全软件导致 无法连接远程桌面可能是由于三方杀毒软件设置导致。本章节列举两个修复安全狗配置导致远程访问失败的案例: 安全狗黑名单拦截导致 安全狗程序异常导致 安全狗黑名单拦截导致 如果安装了安全狗后,出现客户端本地无法远程桌面连接 ECS  Windows 服务器,无法 ping 通服务器 IP 地址,其他区域可以远程连接,且本地 tracert 路由跟踪无法到达服务器,云盾并没有清洗或清洗中的拦截 IP 并无本地公网 IP 的情况,可以查看一下对应的防护软件中是否做了安全设置或对应的拦截。 解决方法 选择 服务器安全狗>网络防火墙。单击超级黑名单的规则设置,如果黑名单中存在实例公网 IP,则将此黑名单规则删除,然后将公网 IP 添加到超级白名单。 说明:如果云盾的阈值设置过低,云端可能清洗并屏蔽实例公网 IP。建议把清洗阈值调高,避免出现拦截实例公网 IP 的情况发生。 安全狗程序异常导致 使用控制台远程连接功能登录到 Windows 实例后,在系统桌面右下角,安全狗弹出错误提示,如图: 该问题可能是由于安全狗软件出现异常导致的。 解决方法 通过 Windows 系统软件卸载安全狗软件后,重启服务器网络即可恢复。 说明:关于杀毒安全软件,参看ECS Windows三方杀毒防护软件的可能问题以及使用建议。 远程终端服务配置异常导致 无法连接 Windows 实例远程桌面可能是由于以下两种远程终端服务配置异常导致: 服务器侧自签名证书损坏 远程桌面会话主机配置连接被禁用 服务器侧自签名证书损坏 客户端如果是 Windows 7 以上版本,会尝试与服务器建立 TLS 连接。服务器侧用于 TLS 连接的自签名证书损坏后会导致远程连接失败。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 选择开始>管理工具>远程桌面服务,然后双击远程桌面会话主机配置。 选择 RDP-Tcp。在 RDP-Tcp 属性窗口,将协商模式修改成RDP安全层。 在操作栏单击禁用连接,再单击启用连接即可。 远程桌面会话主机配置连接被禁用 使用 Netstat 查询发现端口未正常监听。使用控制台远程连接功能登录到 Windows 实例后,发现远程桌面 RDP 连接属性配置文件被禁用。 解决方法 参考服务器侧自签名证书损坏找到 RDP 连接属性配置文件,如果 RDP-Tcp 被禁用,单击启用连接即可。 系统服务禁用导致 用户为了提高系统安全性,错误的将远程桌面服务所依赖的某些关键服务禁用,导致远程桌面服务异常。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 选择开始>运行。 输入 msconfig,单击确定。 在弹出的窗口中,选择常规选项卡,选择正常启动,然后重启服务器即可。 终端服务器角色配置导致 用户在使用远程桌面访问 Windows 实例的时候,有时会出现如下提示: 这种情况一般是由于在服务器上安装配置了终端服务器,但是没有配置有效的访问授权导致的。 解决方法 参见Windows 实例远程桌面报错“由于没有远程桌面授权服务器可以提供许可证”中针对主机角色提供的两种解决方案。 本地网络限制导致 通过 ping 服务器公网 IP 和 telnet 服务器公网 IP 3389 命令测试连通性,同时用其他网络环境中(不同网段或不同运营商)的电脑连接对比测试,判断是自己本地网络问题还是服务器端的问题。如果是本地网络问题或运营商问题,请您联系本地 IT 人员或运营商解决。 服务器的公网带宽问题导致 问题分析 无法远程连接可能是公网带宽不足导致的,具体排查方法如下: 登录 ECS 管理控制台。 找到该实例, 单击管理进入实例详情页面,查看网络监控数据。 检查服务器带宽是否为 1 k 或 0 k。如果购买实例时没有购买公网带宽,后来升级了公网带宽,续费的时候没有选择续费带宽,带宽就会变成 1k。 解决方法 续费 ECS 实例,然后重启实例。详情参见手动续费,自动续费。 远程端口修改导致 无法连接 Windows 实例远程桌面可能是远程桌面的端口修改后,登录方式改变导致的。修改远程连接默认的端口后,需要用“IP:端口”的方式进行远程桌面连接。 服务器内存不足导致 远程连接输入用户密码登录后,不能正常显示桌面直接退出,也没有错误信息。 问题分析 这种情况可能是服务器内存不足导致的,需要查看一下服务器的内存使用情况。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 选择开始>控制面板>管理工具,双击事件查看器。查看一下是否有内存资源不足的警告日志信息。 解决方法 如有日志信息提示内存不足,具体解决方法参考 Windows 虚拟内存不足问题的处理。 系统的安全策略设置导致 您可以查看 Windows 服务器上是否有阻止远程桌面连接的相关安全策略。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 选择开始>控制面板>管理工具,双击本地安全策略。 在弹出的窗口中,单击 IP 安全策略,查看是否有相关的安全策略。 如果有,右键单击相关策略,选择删除,或双击该 IP 安全策略来重新配置以允许远程桌面连接。然后使用再远程桌面连接。 远程桌面服务未开启导致 您可以查看 Windows 服务器的系统是否开启了远程桌面服务。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 右键单击我的电脑,选择属性>高级系统设置。 在系统属性窗口,选择远程选项卡,然后勾选允许运行任意版本远程桌面的计算机连接即可。 如问题还未解决,请联系售后技术支持。
qq78315851 2019-12-02 00:01:04 0 浏览量 回答数 0

回答

概述 本文主要介绍无法远程连接Windows实例的排查方法。 详细信息 阿里云提醒您: 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。 无法远程连接Windows实例的原因较多,可通过以下排查方法,排查并解决无法远程连接Windows实例的问题。 步骤一:使用管理终端登录实例 步骤二:登录密码检查 步骤三:端口及安全组检查 步骤四:远程桌面服务检查 步骤五:网络检查 步骤六:检查CPU负载、带宽及内存使用情况 步骤七:防火墙配置检查 步骤八:系统的安全策略设置 步骤九:远程终端服务的配置检查 步骤十:杀毒软件检查 步骤十一:尝试重启实例 常见报错案例 步骤一:使用管理终端登录实例 无论何种原因导致无法远程连接实例,请先尝试用阿里云提供的远程连接功能进行连接,确认实例还有响应,没有完全宕机,然后再按原因分类进行故障排查。 登录ECS管理控制台,单击左侧导航栏中的 实例,在目标实例右侧单击 远程连接。 在首次连接或忘记连接密码时,单击 修改远程连接密码,修改远程连接的密码。 然后通过远程连接密码连接实例。 步骤二:登录密码检查 在确保登录密码正确的情况下,确认之前是否曾重置过密码。检查重置实例密码后是否未重启实例,如果存在实例密码修改记录,但无重启实例记录,则参考以下操作步骤重启实例。 登录ECS管理控制台,单击左侧导航栏中的 实例。 在页面顶部的选择对应的地域,目标实例右侧单击 更多 > 实例状态 > 重启,再单击 确认 即可。 步骤三:端口及安全组检查 进一步检查端口是否正常,以及安全组规则是否有限制。 参考如何查看和修改Windows实例远程桌面的默认端口,检查实例远程链接的端口是否被修改。如果登录方式改变或者ECS安全组规则中未放行修改后的端口号,则参考如下步骤放行修改后的端口。 注:ECS的安全组规则中默认放行3389端口。修改了远程桌面的端口后,需要在安全组规则中放行修改后的端口号。 登录ECS 管理控制台。 找到该实例,单击 管理 进入 实例详情 页面,切换到 本实例安全组 标签页,单击 配置规则。 在安全组规则页面,单击 添加安全组规则。 在弹出的页面中,端口范围 输入修改后的远程桌面端口号。授权对象 输入客户端的公网IP地址。比如修改后的远程桌面端口号为4389,则 端口范围 应输入“4389/4389”。填写完成后,单击 确定。 通过“IP:端口”的方式进行远程桌面连接。连接方式类似如下。 通过上一步获取的端口,参考如下命令,进行端口测试,判断端口是否正常。如果端口测试失败,请参考使用ping命令正常但端口不通时的端口可用性探测说明进行排查。 telnet [$IP] [$Port] 注: [$IP]指Windows实例的IP地址。 [$Port]指Windows实例的RDP端口号。 系统显示类似如下,比如执行telnet 192.168.0.1 4389命令,正常情况下返回结果类似如下。 Trying 192.168.0.1 ... Connected to 192.168.0.1 4389. Escape character is '^]' 检查Windows远程端口设置是否超出范围,如果超出范围,您需将端口重新修改为0到65535之间,且没有被占用的其它端口,具体操作请参考如下操作。 登录实例,依次选择 开始 > 运行,输入 regedit,然后单击 确认。 打开注册表编辑器,依次选择 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp。 双击 PortNumber,单击 十进制,将原端口由“113322”修改为0到65535之间且不与当前端口冲突的端口,例如5588等端口。 注:“113322”为PortNumber右侧显示的端口号。 再打开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Tenninal Server\WinStations\RDP-Tcp。 双击 PortNumber,单击 十进制,将原端口“113322”修改为与第3步一致的端口号。 然后重启主机,确认远程连接成功。 步骤四:远程桌面服务检查 您可以查看Windows服务器的系统是否开启了远程桌面服务。具体操作如下。 使用控制台远程连接功能登录到Windows实例。 右键单击 我的电脑,选择 属性 > 高级系统设置。 在 系统属性 窗口,选择 远程 选项卡,然后勾选 允许运行任意版本远程桌面的计算机连接 即可。 用户为了提高系统安全性,有时错误的将远程桌面服务所依赖的某些关键服务禁用,导致远程桌面服务异常。可通过以下操作进行检查。 使用控制台远程连接功能登录到Windows实例。 选择 开始 > 运行。 输入msconfig,单击 确定。 在弹出的窗口中,选择 常规 选项卡,选择 正常启动,然后重启服务器即可。 步骤五:网络检查 无法正常远程连接Windows实例时,需要先检查网络是否正常。 用其他网络环境中(不同网段或不同运营商)的电脑连接对比测试,判断是本地网络问题还是服务器端的问题。如果是本地网络问题或运营商问题,请联系本地IT人员或运营商解决。如果是网卡驱动存在异常,则重新安装。排除本地网络故障后进行下一步检查。 在客户端使用ping命令测试与实例的网络连通性。 网络异常时,请参考网络异常时如何抓取数据包进行排查。 当出现ping丢包或ping不通时,请参考使用ping命令丢包或不通时的链路测试方法进行排查。 如果出现间歇性丢包,ECS实例的网络一直处于不稳定状态时,请参考使用ping命令测试ECS实例的IP地址间歇性丢包进行解决。 在实例中使用ping命令测试与客户端的连通性,提示“一般故障”的错误,请参考Windows实例ping外网地址提示“一般故障”进行解决。 步骤六:检查CPU负载、带宽及内存使用情况 确认是否存在CPU负载过高的情况,如果存在,则参考本步骤解决问题,如果不存在,则执行下一步步骤。 检查CPU负载过高时,通过实例详情页面的终端登录实例,检查后台是否正在执行Windows Update操作。 运行Windows Update来安装最新的微软安全补丁。 若应用程序有大量的磁盘访问、网络访问行为、高计算需求,CPU负载过高是正常结果。您可以尝试升配实例规格来解决资源瓶颈问题。 CPU负载过高的解决方法请参见Windows系统ECS实例的CPU使用率较高的解决方法。 无法远程连接可能是公网带宽不足导致的,具体排查方法如下。可通过续费ECS实例,然后重启实例解决。详情参见手动续费或者自动续费。 登录ECS管理控制台。 找到该实例, 单击 管理 进入 实例详情 页面,查看网络监控数据。 检查服务器带宽是否为“1k”或“0k”。如果购买实例时没有购买公网带宽,后来升级了公网带宽,续费的时候没有选择续费带宽,带宽就会变成“1k”。 远程连接输入用户密码登录后,不能正常显示桌面直接退出,也没有错误信息。这种情况可能是服务器内存不足导致的,需要查看一下服务器的内存使用情况。具体操作如下。 使用控制台远程连接功能登录到Windows实例。 选择 开始 > 控制面板 > 管理工具,双击 事件查看器。查看一下是否有内存资源不足的警告日志信息。如有日志信息提示内存不足,具体解决方法参考Windows 虚拟内存不足问题的处理。 步骤七:防火墙配置检查 您只有在已授权可关闭防火墙的情况下,才能进行该项排查。确认防火墙是否已关闭,如果没有关闭,则通过调整防火墙配置策略修复,具体操作请参见如何配置Windows实例远程连接的防火墙。完成操作后,请再进行远程连接,确认连接成功。本文以Windows Server 2012初次登录开启防火墙为例。新购的Windows 2012实例,首次连接服务器是可以的。连接服务器并激活系统后,会提示如下图片中的信息,用户需要单击 是,如果单击 否,服务器会自动开启公网的防火墙,连接会直接断开。此问题可参考以下步骤进行解决。 使用控制台远程连接功能登录到Windows实例。 在菜单栏选择 开始 > 控制面板 。 查看方式 选择 小图标,单击 Windows 防火墙。 在 Windows 防火墙 窗口,单击 高级设置。 在弹出的窗口中,单击 入站规则,在右侧拉至最下方,右键单击 远程桌面-用户模式(TCP-In),选择 启动规则。 返回上一个页面, 单击 Windows 防火墙属性。 选择 启用(推荐),单击 应用。 注意:建议将 域配置文件、专用配置文件、公用配置文件 选项卡下的防火墙全部启用。 更多关于防火墙的设置,请参考设置Windows实例远程连接防火墙。 步骤八:系统的安全策略设置 您可以查看Windows服务器上是否有阻止远程桌面连接的相关安全策略。具体操作如下。 使用控制台远程连接功能登录到Windows实例。 选择 开始 > 控制面板 > 管理工具,双击 本地安全策略。 在弹出的窗口中,单击 IP 安全策略,查看是否有相关的安全策略。 如果有,右键单击相关策略,选择 删除,或双击该IP的安全策略来重新配置以允许远程桌面连接。然后再使用远程桌面连接。 步骤九:远程终端服务的配置检查 无法连接Windows实例远程桌面可能是由于以下远程终端服务的配置异常而导致。 异常一:服务器侧自签名证书损坏 客户端如果是Windows 7以上版本的系统,会尝试与服务器建立TLS连接。若服务器侧用于TLS连接的自签名证书损坏,则会导致远程连接失败。 使用控制台远程连接功能登录到Windows实例。 选择 开始 > 管理工具 > 远程桌面服务,然后双击 远程桌面会话主机配置。 选择 RDP-Tcp。在RDP-Tcp属性窗口,将 安全层 修改成 RDP安全层。 在操作栏单击 禁用连接,再单击 启用连接 即可。 异常二:远程桌面会话主机配置连接被禁用 使用netstat命令查询,发现端口未正常监听。使用控制台远程连接功能登录到Windows实例后,发现远程桌面RDP连接属性配置文件被禁用。参考服务器侧自签名证书损坏找到RDP连接属性配置文件,如果 RDP-Tcp 被禁用,单击 启用连接 即可。 异常三:终端服务器角色配置 用户在使用远程桌面访问Windows实例时,有时会出现如下提示。这种情况一般是由于在服务器上安装配置了 终端服务器,但是没有配置有效的访问授权导致的。可参见如下两个解决方案处理。 Windows服务器远程桌面提示“没有远程桌面授权服务器可以提供许可证”错误 远程登录Windows实例报“远程桌面用户组没有该权限”错误 步骤十:杀毒软件检查 无法连接远程桌面可能是由于第三方杀毒软件设置导致,可通过以下方法进行解决。此处列举两个安全狗配置导致远程访问失败的解决案例。 如果杀毒软件在后台执行,可通过实例详情页面的终端登录,将杀毒软件升级至最新版本或者直接删除。 请使用商业版杀毒软件,或者使用Microsoft Safety Scanner微软免费安全工具,在安全模式下扫描杀毒,相关信息请访问如下链接。 https://www.microsoft.com/security/scanner/zh-cn/default.aspx 案例一:安全狗黑名单拦截 如果安装了安全狗后,出现如下情况,请确认防护软件中是否做了安全设置或对应的拦截。 客户端本地无法远程桌面连接Windows实例,但其他区域可以远程连接。 无法ping通服务器IP地址,且通过tracert命令跟踪路由,发现无法到达服务器。 云盾未拦截本地公网IP地址。 可打开 服务器安全狗 进行检查,选择 网络防火墙。单击 超级黑名单 的 规则设置,如果黑名单中存在实例公网IP,则将此黑名单规则删除,然后将公网IP添加到 超级白名单。 说明:如果云盾的阈值设置过低,则可能拦截实例公网IP。建议把清洗阈值调高,避免出现拦截实例公网IP的情况发生,具体请参见DDoS基础防护。 案例二:安全狗程序异常 使用控制台远程连接功能登录到Windows实例后,在系统桌面右下角,安全狗弹出错误提示,系统显示类似如下。该问题可能是由于安全狗软件出现异常导致的。可通过Windows系统卸载安全狗软件后,重启服务器,网络即可恢复。 步骤十一:尝试重启实例 若用阿里云提供的远程连接功能仍无法成功连接实例,请尝试重启实例。重启操作会使实例停止工作,从而中断业务,请谨慎执行。 提示:重启实例前,需给实例创建快照,用于数据备份或者制作镜像。创建快照的方法请参见创建快照。 登录ECS 管理控制台,单击左侧导航栏中的 实例。 在页面顶部的选择对应的地域,在目标实例右侧单击 更多 > 实例状态 > 重启,再单击 确认 即可。
1934890530796658 2020-03-25 22:43:56 0 浏览量 回答数 0

域名特惠专场,热门顶级域名低至1元,适用企业/个人域名注册!

域名低至1元起,更有服务器低至0.55折

回答

Windows 服务器远程桌面无法连接时,可以通过控制台的远程连接功能登录到服务器进行排查。远程桌面无法连接可能是由于以下几种原因: Windows Server 2012初次登录开启防火墙导致 远程端口设置超出范围导致 杀毒安全软件导致 远程终端服务配置异常导致 系统服务禁用导致 终端服务器角色配置导致 本地网络限制导致 服务器的公网带宽问题导致 远程端口修改导致 服务器内存不足导致 系统的安全策略设置导致 远程桌面服务未开启导致 Windows Server 2012初次登录开启防火墙导致 新购的 Windows 2012 实例,首次连接服务器是可以的。连接服务器并激活系统后,会提示图片中的信息,用户需要单击是,如果单击否,服务器会自动开启公网的防火墙,连接会直接断开。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 在菜单栏选择开始>控制面板 。 查看方式选择小图标,单击Windows 防火墙。 在Windows 防火墙窗口,单击高级设置。 在弹出的窗口中,单击入站规则,在右侧拉至最下方,右键单击远程桌面-用户模式(TCP-In),选择启动规则。 返回上一个页面, 单击 Windows 防火墙属性。 选择启用(推荐),单击应用。 注意:建议将域配置文件,专用配置文件,公用配置文件选项卡下的防火墙全部启用。 说明:更多关于防火墙的设置,参考设置 Windows 实例远程连接防火墙。 远程端口设置超出范围导致 无论是 Windows 实例还是 Linux 实例,服务监听能使用的端口范围为 0~65535,错误配置监听端口会导致远程桌面服务监听失败。这种情况将端口重新修改为 0~65535 之间的没有占用的其它端口即可,具体修改端口的操作方法参见修改服务器远程端口。 杀毒安全软件导致 无法连接远程桌面可能是由于三方杀毒软件设置导致。本章节列举两个修复安全狗配置导致远程访问失败的案例: 安全狗黑名单拦截导致 安全狗程序异常导致 安全狗黑名单拦截导致 如果安装了安全狗后,出现客户端本地无法远程桌面连接 ECS  Windows 服务器,无法 ping 通服务器 IP 地址,其他区域可以远程连接,且本地 tracert 路由跟踪无法到达服务器,云盾并没有清洗或清洗中的拦截 IP 并无本地公网 IP 的情况,可以查看一下对应的防护软件中是否做了安全设置或对应的拦截。 解决方法 选择 服务器安全狗>网络防火墙。单击超级黑名单的规则设置,如果黑名单中存在实例公网 IP,则将此黑名单规则删除,然后将公网 IP 添加到超级白名单。 说明:如果云盾的阈值设置过低,云端可能清洗并屏蔽实例公网 IP。建议把清洗阈值调高,避免出现拦截实例公网 IP 的情况发生。 安全狗程序异常导致 使用控制台远程连接功能登录到 Windows 实例后,在系统桌面右下角,安全狗弹出错误提示,如图: 该问题可能是由于安全狗软件出现异常导致的。 解决方法 通过 Windows 系统软件卸载安全狗软件后,重启服务器网络即可恢复。 说明:关于杀毒安全软件,参看ECS Windows三方杀毒防护软件的可能问题以及使用建议。 远程终端服务配置异常导致 无法连接 Windows 实例远程桌面可能是由于以下两种远程终端服务配置异常导致: 服务器侧自签名证书损坏 远程桌面会话主机配置连接被禁用 服务器侧自签名证书损坏 客户端如果是 Windows 7 以上版本,会尝试与服务器建立 TLS 连接。服务器侧用于 TLS 连接的自签名证书损坏后会导致远程连接失败。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 选择开始>管理工具>远程桌面服务,然后双击远程桌面会话主机配置。 选择 RDP-Tcp。在 RDP-Tcp 属性窗口,将协商模式修改成RDP安全层。 在操作栏单击禁用连接,再单击启用连接即可。 远程桌面会话主机配置连接被禁用 使用 Netstat 查询发现端口未正常监听。使用控制台远程连接功能登录到 Windows 实例后,发现远程桌面 RDP 连接属性配置文件被禁用。 解决方法 参考服务器侧自签名证书损坏找到 RDP 连接属性配置文件,如果 RDP-Tcp 被禁用,单击启用连接即可。 系统服务禁用导致 用户为了提高系统安全性,错误的将远程桌面服务所依赖的某些关键服务禁用,导致远程桌面服务异常。 解决方法 使用控制台远程连接功能登录到 Windows 实例。 选择开始>运行。 输入 msconfig,单击确定。 在弹出的窗口中,选择常规选项卡,选择正常启动,然后重启服务器即可。 终端服务器角色配置导致 用户在使用远程桌面访问 Windows 实例的时候,有时会出现如下提示: 这种情况一般是由于在服务器上安装配置了终端服务器,但是没有配置有效的访问授权导致的。 解决方法 参见Windows 实例远程桌面报错“由于没有远程桌面授权服务器可以提供许可证”中针对主机角色提供的两种解决方案。 本地网络限制导致 通过 ping 服务器公网 IP 和 telnet 服务器公网 IP 3389 命令测试连通性,同时用其他网络环境中(不同网段或不同运营商)的电脑连接对比测试,判断是自己本地网络问题还是服务器端的问题。如果是本地网络问题或运营商问题,请您联系本地 IT 人员或运营商解决。 服务器的公网带宽问题导致 问题分析 无法远程连接可能是公网带宽不足导致的,具体排查方法如下: 登录 ECS 管理控制台。 找到该实例, 单击管理进入实例详情页面,查看网络监控数据。 检查服务器带宽是否为 1 k 或 0 k。如果购买实例时没有购买公网带宽,后来升级了公网带宽,续费的时候没有选择续费带宽,带宽就会变成 1k。 解决方法 续费 ECS 实例,然后重启实例。详情参见手动续费,自动续费。 远程端口修改导致 无法连接 Windows 实例远程桌面可能是远程桌面的端口修改后,登录方式改变导致的。修改远程连接默认的端口后,需要用“IP:端口”的方式进行远程桌面连接。 服务器内存不足导致 远程连接输入用户密码登录后,不能正常显示桌面直接退出,也没有错误信息。 问题分析 这种情况可能是服务器内存不足导致的,需要查看一下服务器的内存使用情况。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 选择开始>控制面板>管理工具,双击事件查看器。查看一下是否有内存资源不足的警告日志信息。 解决方法 如有日志信息提示内存不足,具体解决方法参考 Windows 虚拟内存不足问题的处理。 系统的安全策略设置导致 您可以查看 Windows 服务器上是否有阻止远程桌面连接的相关安全策略。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 选择开始>控制面板>管理工具,双击本地安全策略。 在弹出的窗口中,单击 IP 安全策略,查看是否有相关的安全策略。 如果有,右键单击相关策略,选择删除,或双击该 IP 安全策略来重新配置以允许远程桌面连接。然后使用再远程桌面连接。 远程桌面服务未开启导致 您可以查看 Windows 服务器的系统是否开启了远程桌面服务。具体操作如下: 使用控制台远程连接功能登录到 Windows 实例。 右键单击我的电脑,选择属性>高级系统设置。 在系统属性窗口,选择远程选项卡,然后勾选允许运行任意版本远程桌面的计算机连接即可。 如问题还未解决,请联系售后技术支持。您可以参考文档:https://help.aliyun.com/knowledge_detail/40849.html?spm=5176.11065259.1996646101.searchclickresult.123c3f54373ATl
qq78315851 2019-12-02 00:01:03 0 浏览量 回答数 0

回答

域名不能正确解析可以更换其它的dns服务器,在百度搜索“公用dns”,选一个就行了 IIS状态代码的含义 概要 当用户试图通过HTTP或文件传输协议(FTP)访问一台正在运行Internet信息服务(IIS)的服务器上的内容时,IIS返回一个表示该请求的状态的数字代码。该状态代码记录在IIS日志中,同时也可能在Web浏览器或FTP客户端显示。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。 更多信息 日志文件的位置 在默认状态下,IIS把它的日志文件放在%WINDIR\System32\Logfiles文件夹中。每个万维网(WWW)站点和FTP站点在该目录下都有一个单独的目录。在默认状态下,每天都会在这些目录下创建日志文件,并用日期给日志文件命名(例如,exYYMMDD.log)。 HTTP 1xx-信息提示 这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 100-继续。 101-切换协议。 2xx-成功 这类状态代码表明服务器成功地接受了客户端请求。 200-确定。客户端请求已成功。 201-已创建。 202-已接受。 203-非权威性信息。 204-无内容。 205-重置内容。 206-部分内容。 3xx-重定向 客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 301-对象已永久移走,即永久重定向。 302-对象已临时移动。 304-未修改。 307-临时重定向。 4xx-客户端错误 发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。 401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示: 401.1-登录失败。 401.2-服务器配置导致登录失败。 401.3-由于ACL对资源的限制而未获得授权。 401.4-筛选器授权失败。 401.5-ISAPI/CGI应用程序授权失败。 401.7–访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。 403-禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因: 403.1-执行访问被禁止。 403.2-读访问被禁止。 403.3-写访问被禁止。 403.4-要求SSL。 403.5-要求SSL128。 403.6-IP地址被拒绝。 403.7-要求客户端证书。 403.8-站点访问被拒绝。 403.9-用户数过多。 403.10-配置无效。 403.11-密码更改。 403.12-拒绝访问映射表。 403.13-客户端证书被吊销。 403.14-拒绝目录列表。 403.15-超出客户端访问许可。 403.16-客户端证书不受信任或无效。 403.17-客户端证书已过期或尚未生效。 403.18-在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0所专用。 403.19-不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。 403.20-Passport登录失败。这个错误代码为IIS6.0所专用。 404-未找到。 404.0-(无)–没有找到文件或目录。 404.1-无法在所请求的端口上访问Web站点。 404.2-Web服务扩展锁定策略阻止本请求。 404.3-MIME映射策略阻止本请求。 405-用来访问本页面的HTTP谓词不被允许(方法不被允许) 406-客户端浏览器不接受所请求页面的MIME类型。 407-要求进行代理身份验证。 412-前提条件失败。 413–请求实体太大。 414-请求URI太长。 415–不支持的媒体类型。 416–所请求的范围无法满足。 417–执行失败。 423–锁定的错误。 5xx-服务器错误 服务器由于遇到错误而不能完成该请求。 500-内部服务器错误。 500.12-应用程序正忙于在Web服务器上重新启动。 500.13-Web服务器太忙。 500.15-不允许直接请求Global.asa。 500.16–UNC授权凭据不正确。这个错误代码为IIS6.0所专用。 500.18–URL授权存储不能打开。这个错误代码为IIS6.0所专用。 500.100-内部ASP错误。 501-页眉值指定了未实现的配置。 502-Web服务器用作网关或代理服务器时收到了无效响应。 502.1-CGI应用程序超时。 502.2-CGI应用程序出错。application. 503-服务不可用。这个错误代码为IIS6.0所专用。 504-网关超时。 505-HTTP版本不受支持。 FTP 1xx-肯定的初步答复 这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。 110重新启动标记答复。 120服务已就绪,在nnn分钟后开始。 125数据连接已打开,正在开始传输。 150文件状态正常,准备打开数据连接。 2xx-肯定的完成答复 一项操作已经成功完成。客户端可以执行新命令。200命令确定。 202未执行命令,站点上的命令过多。 211系统状态,或系统帮助答复。 212目录状态。 213文件状态。 214帮助消息。 215NAME系统类型,其中,NAME是AssignedNumbers文档中所列的正式系统名称。 220服务就绪,可以执行新用户的请求。 221服务关闭控制连接。如果适当,请注销。 225数据连接打开,没有进行中的传输。 226关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。 227进入被动模式(h1,h2,h3,h4,p1,p2)。 230用户已登录,继续进行。 250请求的文件操作正确,已完成。 257已创建“PATHNAME”。 3xx-肯定的中间答复 该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。331用户名正确,需要密码。 332需要登录帐户。 350请求的文件操作正在等待进一步的信息。 4xx-瞬态否定的完成答复 该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。421服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。 425无法打开数据连接。 426Connectionclosed;transferaborted. 450未执行请求的文件操作。文件不可用(例如,文件繁忙)。 451请求的操作异常终止:正在处理本地错误。 452未执行请求的操作。系统存储空间不够。 5xx-永久性否定的完成答复 该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。500语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。 501在参数中有语法错误。 502未执行命令。 503错误的命令序列。 504未执行该参数的命令。 530未登录。 532存储文件需要帐户。 550未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。 551请求的操作异常终止:未知的页面类型。 552请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。 553未执行请求的操作。不允许的文件名。 常见的FTP状态代码及其原因 150-FTP使用两个端口:21用于发送命令,20用于发送数据。状态代码150表示服务器准备在端口20上打开新连接,发送一些数据。 226-命令在端口20上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。 230-客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。 331-客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。 426-命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。 530-该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS的配置可能拒绝匿名访问。 550-命令未被执行,因为指定的文件不可用。例如,要GET的文件并不存在,或试图将文件PUT到您没有写入权限的目录。 答案来源网络,供参考,希望对您有帮助
问问小秘 2019-12-02 03:01:30 0 浏览量 回答数 0

问题

全栈测试:平衡单元测试和端到端测试

全栈开发人员的特点是能够从头到尾交付并发布一个特性。教程和书籍常常侧重于搭建全栈开发环境和让测试能够进行所需要的“管件(plumbing)”(我综合运用了Angular、Rails、Bootstra...
技术小菜鸟 2019-12-01 21:30:35 3268 浏览量 回答数 1

回答

一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1、IO瓶颈 第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。 第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库。 2、CPU瓶颈 第一种:SQL问题,如SQL中包含join,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。 第二种:单表数据量太大,查询时扫描的行太多,SQL效率低,CPU率先出现瓶颈 -> 水平分表。 二、分库分表 1、水平分库 概念:以字段为依据,按照一定策略(hash、range等),将一个库中的数据拆分到多个库中。 结果: 每个库的结构都一样; 每个库的数据都不一样,没有交集; 所有库的并集是全量数据; 场景:系统绝对并发量上来了,分表难以根本上解决问题,并且还没有明显的业务归属来垂直分库。 分析:库多了,io和cpu的压力自然可以成倍缓解。 2、水平分表 概念:以字段为依据,按照一定策略(hash、range等),将一个表中的数据拆分到多个表中。 结果: 每个表的结构都一样; 每个表的数据都不一样,没有交集; 所有表的并集是全量数据; 场景:系统绝对并发量并没有上来,只是单表的数据量太多,影响了SQL效率,加重了CPU负担,以至于成为瓶颈。推荐:一次SQL查询优化原理分析 分析:表的数据量少了,单次SQL执行效率高,自然减轻了CPU的负担。 3、垂直分库 概念:以表为依据,按照业务归属不同,将不同的表拆分到不同的库中。 结果: 每个库的结构都不一样; 每个库的数据也不一样,没有交集; 所有库的并集是全量数据; 场景:系统绝对并发量上来了,并且可以抽象出单独的业务模块。 分析:到这一步,基本上就可以服务化了。例如,随着业务的发展一些公用的配置表、字典表等越来越多,这时可以将这些表拆到单独的库中,甚至可以服务化。再有,随着业务的发展孵化出了一套业务模式,这时可以将相关的表拆到单独的库中,甚至可以服务化。 4、垂直分表 概念:以字段为依据,按照字段的活跃性,将表中字段拆到不同的表(主表和扩展表)中。 结果: 每个表的结构都不一样; 每个表的数据也不一样,一般来说,每个表的字段至少有一列交集,一般是主键,用于关联数据; 所有表的并集是全量数据; 场景:系统绝对并发量并没有上来,表的记录并不多,但是字段多,并且热点数据和非热点数据在一起,单行数据所需的存储空间较大。以至于数据库缓存的数据行减少,查询时会去读磁盘数据产生大量的随机读IO,产生IO瓶颈。 分析:可以用列表页和详情页来帮助理解。垂直分表的拆分原则是将热点数据(可能会冗余经常一起查询的数据)放在一起作为主表,非热点数据放在一起作为扩展表。这样更多的热点数据就能被缓存下来,进而减少了随机读IO。拆了之后,要想获得全部数据就需要关联两个表来取数据。 但记住,千万别用join,因为join不仅会增加CPU负担并且会讲两个表耦合在一起(必须在一个数据库实例上)。关联数据,应该在业务Service层做文章,分别获取主表和扩展表数据然后用关联字段关联得到全部数据。 三、分库分表工具 sharding-sphere:jar,前身是sharding-jdbc; TDDL:jar,Taobao Distribute Data Layer; Mycat:中间件。 注:工具的利弊,请自行调研,官网和社区优先。 四、分库分表步骤 根据容量(当前容量和增长量)评估分库或分表个数 -> 选key(均匀)-> 分表规则(hash或range等)-> 执行(一般双写)-> 扩容问题(尽量减少数据的移动)。 扩展:MySQL:分库分表与分区的区别和思考 五、分库分表问题 1、非partition key的查询问题 基于水平分库分表,拆分策略为常用的hash法。 端上除了partition key只有一个非partition key作为条件查询 映射法 基因法 注:写入时,基因法生成user_id,如图。关于xbit基因,例如要分8张表,23=8,故x取3,即3bit基因。根据user_id查询时可直接取模路由到对应的分库或分表。 根据user_name查询时,先通过user_name_code生成函数生成user_name_code再对其取模路由到对应的分库或分表。id生成常用snowflake算法。 端上除了partition key不止一个非partition key作为条件查询 映射法 冗余法 注:按照order_id或buyer_id查询时路由到db_o_buyer库中,按照seller_id查询时路由到db_o_seller库中。感觉有点本末倒置!有其他好的办法吗?改变技术栈呢? 后台除了partition key还有各种非partition key组合条件查询 NoSQL法 冗余法 2、非partition key跨库跨表分页查询问题 基于水平分库分表,拆分策略为常用的hash法。 注:用NoSQL法解决(ES等)。 3、扩容问题 基于水平分库分表,拆分策略为常用的hash法。 水平扩容库(升级从库法) 注:扩容是成倍的。 水平扩容表(双写迁移法) 第一步:(同步双写)修改应用配置和代码,加上双写,部署; 第二步:(同步双写)将老库中的老数据复制到新库中; 第三步:(同步双写)以老库为准校对新库中的老数据; 第四步:(同步双写)修改应用配置和代码,去掉双写,部署; 注:双写是通用方案。 六、分库分表总结 分库分表,首先得知道瓶颈在哪里,然后才能合理地拆分(分库还是分表?水平还是垂直?分几个?)。且不可为了分库分表而拆分。 选key很重要,既要考虑到拆分均匀,也要考虑到非partition key的查询。 只要能满足需求,拆分规则越简单越好。 七、分库分表示例 示例GitHub地址:https://github.com/littlecharacter4s/study-sharding 来源:cnblogs.com/littlecharacter/p/9342129.html 俩元
AA大大官 2020-03-31 12:45:48 0 浏览量 回答数 0

问题

词汇表是什么样的?(S-V)

S A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z SASL ...
轩墨 2019-12-01 22:06:08 2530 浏览量 回答数 1

回答

HTTPS基本原理 一、http为什么不安全。 http协议没有任何的加密以及身份验证的机制,非常容易遭遇窃听、劫持、篡改,因此会造成个人隐私泄露,恶意的流量劫持等严重的安全问题。 国外很多网站都支持了全站https,国内方面目前百度已经在年初完成了搜索的全站https,其他大型的网站也在跟进中,百度最先完成全站https的最大原因就是百度作为国内最大的流量入口,劫持也必然是首当其冲的,造成的有形的和无形的损失也就越大。关于流量劫持问题,我在另一篇文章中也有提到,基本上是互联网企业的共同难题,https也是目前公认的比较好的解决方法。但是https也会带来很多性能以及访问速度上的牺牲,很多互联网公司在做大的时候都会遇到这个问题:https成本高,速度又慢,规模小的时候在涉及到登录和交易用上就够了,做大以后遇到信息泄露和劫持,想整体换,代价又很高。 2、https如何保证安全 要解决上面的问题,就要引入加密以及身份验证的机制。 这时我们引入了非对称加密的概念,我们知道非对称加密如果是公钥加密的数据私钥才能解密,所以我只要把公钥发给你,你就可以用这个公钥来加密未来我们进行数据交换的秘钥,发给我时,即使中间的人截取了信息,也无法解密,因为私钥在我这里,只有我才能解密,我拿到你的信息后用私钥解密后拿到加密数据用的对称秘钥,通过这个对称密钥来进行后续的数据加密。除此之外,非对称加密可以很好的管理秘钥,保证每次数据加密的对称密钥都是不相同的。 但是这样似乎还不够,如果中间人在收到我的给你公钥后并没有发给你,而是自己伪造了一个公钥发给你,这是你把对称密钥用这个公钥加密发回经过中间人,他可以用私钥解密并拿到对称密钥,此时他在把此对称密钥用我的公钥加密发回给我,这样中间人就拿到了对称密钥,可以解密传输的数据了。为了解决此问题,我们引入了数字证书的概念。我首先生成公私钥,将公钥提供给相关机构(CA),CA将公钥放入数字证书并将数字证书颁布给我,此时我就不是简单的把公钥给你,而是给你一个数字证书,数字证书中加入了一些数字签名的机制,保证了数字证书一定是我给你的。 所以综合以上三点: 非对称加密算法(公钥和私钥)交换秘钥 + 数字证书验证身份(验证公钥是否是伪造的) + 利用秘钥对称加密算法加密数据 = 安全 3、https协议简介 为什么是协议简介呢。因为https涉及的东西实在太多了,尤其是一些加密算法,非常的复杂,对于这些算法面的东西就不去深入研究了,这部分仅仅是梳理一下一些关于https最基本的原理,为后面分解https的连接建立以及https优化等内容打下理论基础。 3.1 对称加密算法 对称加密是指加密和解密使用相同密钥的加密算法。它要求发送方和接收方在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信至关重要。 对称加密又分为两种模式:流加密和分组加密。 流加密是将消息作为位流对待,并且使用数学函数分别作用在每一个位上,使用流加密时,每加密一次,相同的明文位会转换成不同的密文位。流加密使用了密钥流生成器,它生成的位流与明文位进行异或,从而生成密文。现在常用的就是RC4,不过RC4已经不再安全,微软也建议网络尽量不要使用RC4流加密。 分组加密是将消息划分为若干位分组,这些分组随后会通过数学函数进行处理,每次一个分组。假设需要加密发生给对端的消息,并且使用的是64位的分组密码,此时如果消息长度为640位,就会被划分成10个64位的分组,每个分组都用一系列数学公式公式进行处理,最后得到10个加密文本分组。然后,将这条密文消息发送给对端。对端必须拥有相同的分组密码,以相反的顺序对10个密文分组使用前面的算法解密,最终得到明文的消息。比较常用的分组加密算法有DES、3DES、AES。其中DES是比较老的加密算法,现在已经被证明不安全。而3DES是一个过渡的加密算法,相当于在DES基础上进行三重运算来提高安全性,但其本质上还是和DES算法一致。而AES是DES算法的替代算法,是现在最安全的对称加密算法之一。分组加密算法除了算法本身外还存在很多种不同的运算方式,比如ECB、CBC、CFB、OFB、CTR等,这些不同的模式可能只针对特定功能的环境中有效,所以要了解各种不同的模式以及每种模式的用途。这个部分后面的文章中会详细讲。 对称加密算法的优、缺点: 优点:算法公开、计算量小、加密速度快、加密效率高。 缺点:(1)交易双方都使用同样钥匙,安全性得不到保证; (2)每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长,密钥管理成为用户的负担。 (3)能提供机密性,但是不能提供验证和不可否认性。 3.2 非对称加密算法 在非对称密钥交换算法出现以前,对称加密一个很大的问题就是不知道如何安全生成和保管密钥。非对称密钥交换过程主要就是为了解决这个问题,使得对称密钥的生成和使用更加安全。 密钥交换算法本身非常复杂,密钥交换过程涉及到随机数生成,模指数运算,空白补齐,加密,签名等操作。 常见的密钥交换算法有RSA,ECDHE,DH,DHE等算法。涉及到比较复杂的数学问题,下面就简单介绍下最经典的RSA算法。RSA:算法实现简单,诞生于1977年,历史悠久,经过了长时间的破解测试,安全性高。缺点就是需要比较大的素数也就是质数(目前常用的是2048位)来保证安全强度,很消耗CPU运算资源。RSA是目前唯一一个既能用于密钥交换又能用于证书签名的算法。我觉得RSA可以算是最经典的非对称加密算法了,虽然算法本身都是数学的东西,但是作为最经典的算法,我自己也花了点时间对算法进行了研究,后面会详细介绍。 非对称加密相比对称加密更加安全,但也存在两个明显缺点: 1,CPU计算资源消耗非常大。一次完全TLS握手,密钥交换时的非对称解密计算量占整个握手过程的90%以上。而对称加密的计算量只相当于非对称加密的0.1%,如果应用层数据也使用非对称加解密,性能开销太大,无法承受。 2,非对称加密算法对加密内容的长度有限制,不能超过公钥长度。比如现在常用的公钥长度是2048位,意味着待加密内容不能超过256个字节。 所以公钥加密(极端消耗CPU资源)目前只能用来作密钥交换或者内容签名,不适合用来做应用层传输内容的加解密。 3.3 身份认证 https协议中身份认证的部分是由数字证书来完成的,证书由公钥、证书主体、数字签名等内容组成,在客户端发起SSL请求后,服务端会将数字证书发给客户端,客户端会对证书进行验证(验证查看这张证书是否是伪造的。也就是公钥是否是伪造的),并获取用于秘钥交换的非对称密钥(获取公钥)。 数字证书有两个作用: 1,身份授权。确保浏览器访问的网站是经过CA验证的可信任的网站。 2,分发公钥。每个数字证书都包含了注册者生成的公钥(验证确保是合法的,非伪造的公钥)。在SSL握手时会通过certificate消息传输给客户端。 申请一个受信任的数字证书通常有如下流程: 1,终端实体(可以是一个终端硬件或者网站)生成公私钥和证书请求。 2,RA(证书注册及审核机构)检查实体的合法性。如果个人或者小网站,这一步不是必须的。 3,CA(证书签发机构)签发证书,发送给申请者。 4,证书更新到repository(负责数字证书及CRL内容存储和分发),终端后续从repository更新证书,查询证书状态等。 数字证书验证: 申请者拿到CA的证书并部署在网站服务器端,那浏览器发起握手接收到证书后,如何确认这个证书就是CA签发的呢。怎样避免第三方伪造这个证书。答案就是数字签名(digital signature)。数字签名是证书的防伪标签,目前使用最广泛的SHA-RSA(SHA用于哈希算法,RSA用于非对称加密算法)数字签名的制作和验证过程如下: 1,数字签名的签发。首先是使用哈希函数对待签名内容进行安全哈希,生成消息摘要,然后使用CA自己的私钥对消息摘要进行加密。 2,数字签名的校验。使用CA的公钥解密签名,然后使用相同的签名函数对待签名证书内容进行签名并和服务端数字签名里的签名内容进行比较,如果相同就认为校验成功。 需要注意的是: 1)数字签名签发和校验使用的密钥对是CA自己的公私密钥,跟证书申请者提交的公钥没有关系。 2)数字签名的签发过程跟公钥加密的过程刚好相反,即是用私钥加密,公钥解密。 3)现在大的CA都会有证书链,证书链的好处一是安全,保持根CA的私钥离线使用。第二个好处是方便部署和撤销,即如果证书出现问题,只需要撤销相应级别的证书,根证书依然安全。 4)根CA证书都是自签名,即用自己的公钥和私钥完成了签名的制作和验证。而证书链上的证书签名都是使用上一级证书的密钥对完成签名和验证的。 5)怎样获取根CA和多级CA的密钥对。它们是否可信。当然可信,因为这些厂商跟浏览器和操作系统都有合作,它们的公钥都默认装到了浏览器或者操作系统环境里。 3.4 数据完整性验证 数据传输过程中的完整性使用MAC算法来保证。为了避免网络中传输的数据被非法篡改,SSL利用基于MD5或SHA的MAC算法来保证消息的完整性。 MAC算法是在密钥参与下的数据摘要算法,能将密钥和任意长度的数据转换为固定长度的数据。发送者在密钥的参与下,利用MAC算法计算出消息的MAC值,并将其加在消息之后发送给接收者。接收者利用同样的密钥和MAC算法计算出消息的MAC值,并与接收到的MAC值比较。如果二者相同,则报文没有改变;否则,报文在传输过程中被修改,接收者将丢弃该报文。 由于MD5在实际应用中存在冲突的可能性比较大,所以尽量别采用MD5来验证内容一致性。SHA也不能使用SHA0和SHA1,中国山东大学的王小云教授在2005年就宣布破解了 SHA-1完整版算法。微软和google都已经宣布16年及17年之后不再支持sha1签名证书。MAC算法涉及到很多复杂的数学问题,这里就不多讲细节了。 专题二--【实际抓包分析】 抓包结果: fiddler: wireshark: 可以看到,百度和我们公司一样,也采用以下策略: (1)对于高版本浏览器,如果支持 https,且加解密算法在TLS1.0 以上的,都将所有 http请求重定向到 https请求 (2)对于https请求,则不变。 【以下只解读https请求】 1、TCP三次握手 可以看到,我们访问的是 http://www.baidu.com/ , 在初次建立 三次握手的时候, 用户是去 连接 8080端口的(因为公司办公网做了代理,因此,我们实际和代理机做的三次握手,公司代理机再帮我们去连接百度服务器的80端口) 2、CONNECT 建立 由于公司办公网访问非腾讯域名,会做代理,因此,在进行https访问的时候,我们的电脑需要和公司代理机做 " CONNECT " 连接(关于 " CONNECT " 连接, 可以理解为虽然后续的https请求都是公司代理机和百度服务器进行公私钥连接和对称秘钥通信,但是,有了 " CONNECT " 连接之后,可以认为我们也在直接和百度服务器进行公私钥连接和对称秘钥通信。 ) fiddler抓包结果: CONNECT之后, 后面所有的通信过程,可以看做是我们的机器和百度服务器在直接通信 3、 client hello 整个 Secure Socket Layer只包含了: TLS1.2 Record Layer内容 (1)随机数 在客户端问候中,有四个字节以Unix时间格式记录了客户端的协调世界时间(UTC)。协调世界时间是从1970年1月1日开始到当前时刻所经历的秒数。在这个例子中,0x2516b84b就是协调世界时间。在他后面有28字节的随机数( random_C ),在后面的过程中我们会用到这个随机数。 (2)SID(Session ID) 如果出于某种原因,对话中断,就需要重新握手。为了避免重新握手而造成的访问效率低下,这时候引入了session ID的概念, session ID的思想很简单,就是每一次对话都有一个编号(session ID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的"对话密钥",而不必重新生成一把。 因为我们抓包的时候,是几个小时内第一次访问 https://www.baodu.com 首页,因此,这里并没有 Session ID. (稍会儿我们会看到隔了半分钟,第二次抓包就有这个Session ID) session ID是目前所有浏览器都支持的方法,但是它的缺点在于session ID往往只保留在一台服务器上。所以,如果客户端的请求发到另一台服务器,就无法恢复对话。session ticket就是为了解决这个问题而诞生的,目前只有Firefox和Chrome浏览器支持。 (3) 密文族(Cipher Suites): RFC2246中建议了很多中组合,一般写法是"密钥交换算法-对称加密算法-哈希算法,以“TLS_RSA_WITH_AES_256_CBC_SHA”为例: (a) TLS为协议,RSA为密钥交换的算法; (b) AES_256_CBC是对称加密算法(其中256是密钥长度,CBC是分组方式); (c) SHA是哈希的算法。 浏览器支持的加密算法一般会比较多,而服务端会根据自身的业务情况选择比较适合的加密组合发给客户端。(比如综合安全性以及速度、性能等因素) (4) Server_name扩展:( 一般浏览器也支持 SNI(Server Name Indication)) 当我们去访问一个站点时,一定是先通过DNS解析出站点对应的ip地址,通过ip地址来访问站点,由于很多时候一个ip地址是给很多的站点公用,因此如果没有server_name这个字段,server是无法给与客户端相应的数字证书的,Server_name扩展则允许服务器对浏览器的请求授予相对应的证书。 还有一个很好的功能: SNI(Server Name Indication)。这个的功能比较好,为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。一句话简述它的工作原理就是,在连接到服务器建立SSL连接之前先发送要访问站点的域名(Hostname),这样服务器根据这个域名返回一个合适的CA证书。目前,大多数操作系统和浏览器都已经很好地支持SNI扩展,OpenSSL 0.9.8已经内置这一功能,据说新版的nginx也支持SNI。) 4、 服务器回复(包括 Server Hello, Certificate, Certificate Status) 服务器在收到client hello后,会回复三个数据包,下面分别看一下: 1)Server Hello 1、我们得到了服务器的以Unix时间格式记录的UTC和28字节的随机数 (random_S)。 2、Seesion ID,服务端对于session ID一般会有三种选择 (稍会儿我们会看到隔了半分钟,第二次抓包就有这个Session ID) : 1)恢复的session ID:我们之前在client hello里面已经提到,如果client hello里面的session ID在服务端有缓存,服务端会尝试恢复这个session; 2)新的session ID:这里又分两种情况,第一种是client hello里面的session ID是空值,此时服务端会给客户端一个新的session ID,第二种是client hello里面的session ID此服务器并没有找到对应的缓存,此时也会回一个新的session ID给客户端; 3)NULL:服务端不希望此session被恢复,因此session ID为空。 3、我们记得在client hello里面,客户端给出了21种加密族,而在我们所提供的21个加密族中,服务端挑选了“TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256”。 (a) TLS为协议,RSA为密钥交换的算法; (b) AES_256_CBC是对称加密算法(其中256是密钥长度,CBC是分组方式); (c) SHA是哈希的算法。 这就意味着服务端会使用ECDHE-RSA算法进行密钥交换,通过AES_128_GCM对称加密算法来加密数据,利用SHA256哈希算法来确保数据完整性。这是百度综合了安全、性能、访问速度等多方面后选取的加密组合。 2)Certificate 在前面的https原理研究中,我们知道为了安全的将公钥发给客户端,服务端会把公钥放入数字证书中并发给客户端(数字证书可以自签发,但是一般为了保证安全会有一个专门的CA机构签发),所以这个报文就是数字证书,4097 bytes就是证书的长度。 我们打开这个证书,可以看到证书的具体信息,这个具体信息通过抓包报文的方式不是太直观,可以在浏览器上直接看。 (点击 chrome 浏览器 左上方的 绿色 锁型按钮) 3)Server Hello Done 我们抓的包是将 Server Hello Done 和 server key exchage 合并的包: 4)客户端验证证书真伪性 客户端验证证书的合法性,如果验证通过才会进行后续通信,否则根据错误情况不同做出提示和操作,合法性验证包括如下: 证书链的可信性trusted certificate path,方法如前文所述; 证书是否吊销revocation,有两类方式离线CRL与在线OCSP,不同的客户端行为会不同; 有效期expiry date,证书是否在有效时间范围; 域名domain,核查证书域名是否与当前的访问域名匹配,匹配规则后续分析; 5)秘钥交换 这个过程非常复杂,大概总结一下: (1)首先,其利用非对称加密实现身份认证和密钥协商,利用非对称加密,协商好加解密数据的 对称秘钥(外加CA认证,防止中间人窃取 对称秘钥) (2)然后,对称加密算法采用协商的密钥对数据加密,客户端和服务器利用 对称秘钥 进行通信; (3)最后,基于散列函数验证信息的完整性,确保通信数据不会被中间人恶意篡改。 此时客户端已经获取全部的计算协商密钥需要的信息:两个明文随机数random_C和random_S与自己计算产生的Pre-master(由客户端和服务器的 pubkey生成的一串随机数),计算得到协商对称密钥; enc_key=Fuc(random_C, random_S, Pre-Master) 6)生成 session ticket 如果出于某种原因,对话中断,就需要重新握手。为了避免重新握手而造成的访问效率低下,这时候引入了session ID的概念, session ID的思想很简单,就是每一次对话都有一个编号(session ID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的"对话密钥",而不必重新生成一把。 因为我们抓包的时候,是几个小时内第一次访问 https://www.baodu.com 首页,因此,这里并没有 Session ID. (稍会儿我们会看到隔了半分钟,第二次抓包就有这个Session ID) session ID是目前所有浏览器都支持的方法,但是它的缺点在于session ID往往只保留在一台服务器上。所以,如果客户端的请求发到另一台服务器,就无法恢复对话。session ticket就是为了解决这个问题而诞生的,目前只有Firefox和Chrome浏览器支持。 后续建立新的https会话,就可以利用 session ID 或者 session Tickets , 对称秘钥可以再次使用,从而免去了 https 公私钥交换、CA认证等等过程,极大地缩短 https 会话连接时间。 7) 利用对称秘钥传输数据 【半分钟后,再次访问百度】: 有这些大的不同: 由于服务器和浏览器缓存了 Session ID 和 Session Tickets,不需要再进行 公钥证书传递,CA认证,生成 对称秘钥等过程,直接利用半分钟前的 对称秘钥 加解密数据进行会话。 1)Client Hello 2)Server Hello
玄学酱 2019-12-02 01:27:08 0 浏览量 回答数 0

问题

【精品问答】Java技术1000问(1)

为了方便Java开发者快速找到相关技术问题和答案,开发者社区策划了Java技术1000问内容,包含最基础的如何学Java、实践中遇到的技术问题、RocketMQ面试、Java容器部署实践等维度内容。 我们会以每...
问问小秘 2019-12-01 21:57:43 46087 浏览量 回答数 16

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化