ISA 连接非443端口的https站点提示错误:
12204 The specified Secure Sockets Layer (SSL) port is not allowed. ISA Server is not configured to allow SSL requests from this port. Most Web browsers use port 443 for SSL requests.
故障分析:
ISA防火墙同时是网络防火墙和Web代理服务器。ISA Server的防火墙组件允许它同时执行数据包过滤和应用层状态识别;而Web代理组件允许它作为CERN兼容的HTTP 1.1 Web代理服务器。Web代理组件(实际上是ISA Server 2004防火墙内部的Web代理过滤器)可以对HTTP通信进行解码,执行应用层状态过滤,然后在转发给外部的目的Web服务器时重建HTTP通信。
可是,对于在受ISA防火墙保护的网络中的主机和一台外部网络的Web服务器间建立的SSL连接有点不一样,当内部主机通过ISA防火墙的Web代理组件发起SSL请求时,ISA防火墙可以检查HTTP头或者根据访问规则来执行过滤;但是,当它们之间的SSL连接建立后,由于在它们之间传输的数据实行了SSL隧道加密,ISA防火墙将不能再检查它们之间传输的数据。
 
在内部Web客户和目的Web服务器之间建立SSL隧道的过程如下所示:
1、内部的Web客户通过在Web浏览器的地址栏中发起一个对目的Web服务器的SSL对象的请求,如
https:URL_Name
2、用户将把这个请求发送到ISA防火墙的8080端口(默认的Web代理侦听端口);
CONNECT URL_name:443 HTTP/1.1
3、ISA防火墙连接目的Web服务器的443端口;
4、当连接建立后,ISA防火墙返回数据给Web客户;
HTTP/1.0 200 connection established
从此时开始,客户直接和外部的Web服务器通信,而不再经过ISA防火墙的Web代理组件,因此,ISA防火墙不能再对封装在SSL隧道中的数据和命令执行应用层状态识别。
当外部Web服务器使用标准的SSL端口TCP 443时,一切都是很正常的,但是,有时候你的Web代理客户也会使用其他的端口来访问SSLWeb站点,例如,Web代理客户可能会使用端口4433替代443来访问银行的Web站点,这样会导致SNAT客户和防火墙客户产生错误,因为ISA防火墙默认会转发SNAT客户和防火墙客户的HTTP连接到Web代理过滤器,客户可能会看见空白页或者指出该页面不能访问的错误页。
解决方法:
比如增加 9443端口:
The following Visual Basic Scripting Edition script (VBScript) is an example of how to add ports to the tunnel port range:
set isa=CreateObject("FPC.Root")
set tprange=isa.GetContainingArray.ArrayPolicy.WebProxy.TunnelPortRanges
set tmp=tprange.AddRange("SSL 9443", , )
tprange.Save
"A restart of the Microsoft Firewall Service is required after you run the script"
 
运行完脚本需要重新启动下Microsoft Firewall Service 。
 
ISA 2004的用另一段代码,现在应该很少用2004了吧:
To add a tunnel port range with Microsoft Internet Security and Acceleration (ISA) Server 2004, this VBScript script will add port 10000:
Dim root
Dim tpRanges
Dim newRange
Set root = CreateObject("FPC.Root")
Set tpRanges = root.GetContainingArray.ArrayPolicy.WebProxy.TunnelPortRanges
set newRange = tpRanges.AddRange("SSL 10000", , )
tpRanges.Save

Note This script does not produce any output if it succeeds. If you run it again, it will produce an error because the range being set already exists.

 
运行完脚本后不会有任何提示,如果你再运行一遍的话可能会有错误弹出来。

ISA 连接非443端口的https站点提示错误的更多相关文章

  1. Linux宝塔后台管理地址使用SSL,并部署非443端口的https

    上传你的key和pem,然后点设置 点击配置文件 插入代码 1 ssl on; 2 ssl_certificate /xxx/yyy/zzz.pem; 3 ssl_certificate_key /x ...

  2. 微信小程序 WebSocket 使用非 443 端口连接

    前言 微信小程序支持使用 WebSocket 连接到服务器,准确地说是带 SSL 的 WebSocket,而微信小程序中不允许使用带端口的 wss 连接,只能使用 443 端口.想使用其他端口就需要在 ...

  3. Mac连接非22端口linux服务器

    Mac连接非22端口linux服务器 原文链接:https://www.cnblogs.com/blog5277/p/9507080.html 原文作者:博客园--曲高终和寡 1:ssh连接 打开终端 ...

  4. SharePoint 2013连接非默认端口的SQL Server

        SharePoint 2013场在连接的时候不允许出现连接地址中包含端口号,否则场配置就会报错,在执行到配置场数据库时无法完成.     此时如果SQL Server不是用的默认端口1433的 ...

  5. 如何远程连接非默认端口SQL Server

    SQL Server Management Studio建立远程SQL连接  连接的时候写: 127.0.0.1,49685\sqlexpress 记得使用逗号,不是冒号

  6. centos上 小程序部署 nginx+https+ssL 提示错误:对应的服务器 TLS 为 TLS 1.0 ,小程序要求的 TLS 版本必须大于等于 1.2

    解决办法: 1.nginx版本必须是1.0.6以上 2.修改配置文件,修改server内的ssl_protocols内容,增加TLSv1.2 3.重启nginx. ./nginx -s reload ...

  7. 使用caddy实现非标准端口https

    近来使用Halo搭建博客,并顺便把WeHalo小程序也把玩了起来,但是发现几个非常棘手的问题: 根据访问日志发现有三方在刷取关键接口的请求,http请求在部分情况下会暴露出很显著的安全问题: 小程序强 ...

  8. Apache的443端口被占用解决方法(转)

    今天想做PHP程序,结果启动Apache的时候控制台报443端口被占用.原因是我的虚拟机VMware占用443端口用于连接远程服务器的.其实出现这些状况很正常.因为不同的程序很有可能同时需要一个端口维 ...

  9. IIS服务器多站点 的 https证书使用443端口 解决方案

    默认情况一个服务器的IIS只能绑定一个HTTPS也就是443端口 要实现多个站点对应HTTPS只能更改IIS配置 首先把每个站点分配个不同端口,如443.444.445…(证书一定要是多域的) 然后重 ...

随机推荐

  1. python-wsgi测试服务器

    #!/usr/bin/python from wsgiref.simple_server import make_server def application(environ,start_respon ...

  2. %notfound的理解——oracle存储过程 .

    文档中的解释:It returns TRUE if an INSERT, UPDATE, or DELETE statement affected no rows, or a SELECT INTO ...

  3. 用canvas和原生js写的一个笨鸟先飞的小游戏(暂时只有一个关卡)

    其中一个画布背景是一张图片,还有小鸟,两个管子的图片.暂时不知道怎么附上去就不添加了.这里只有源代码,css和js都是在html写着的,感觉比他们的容易吧,hah <!DOCTYPE html& ...

  4. 【C#高级】泛型(一)

    泛型,.net 2.0之后出现,基本只要代码中出现 ‘<>’ 尖括号就可以确定是泛型. 在2.0之前大多是使用Object来代替,因为所有类都是Object的派生类,根据继承的原理Obje ...

  5. LINQ-Group子句、Into子句及orderby子句

    1. Group子句 LINQ表达式必须以from子句开头,以select或Group子句结束,所以除了使用select子句也可以使用Group子句来返回元素分组后的结果.Group子句用来查询结果分 ...

  6. 01 使用Git基本方法

    什么是Git? Git是目前世界上最先进的分布式版本控制系统(没有之一). 你得先有一个Git仓库,才能进行操作.创库就是Git存放你要保存的快照的数据的地方. 拥有一个Git仓库,有两种方法. 创建 ...

  7. springboot在阿里CentOS 7后台永久运行

    查看Java进程可以使用 ps -ef|grep java 首次后台永久启动,会把日志输出到新建的log.file文件 nohup java -jar demo-0.0.1-SNAPSHOT.jar ...

  8. java二叉搜索树原理与实现

    计算机里面的数据结构 树 在计算机存储领域应用作用非常大,我之前也多次强调多磁盘的存取速度是目前计算机飞速发展的一大障碍,计算机革命性的的下一次飞跃就是看硬盘有没有质的飞跃,为什么这么说?因为磁盘是永 ...

  9. Golang的 signal

    在实际项目中我们可能有下面的需求: 1.修改了配置文件后,希望在不重启进程的情况下重新加载配置文件: 2.当用 Ctrl + C 强制关闭应用后,做一些必要的处理: 这时候就需要通过信号传递来进行处理 ...

  10. 分布式时序数据库InfluxDB

    我们内部的监控系统用到分布式时序数据库InfluxDB http://www.ttlsa.com/monitor-safe/monitor/distributed-time-series-databa ...