ISA Server配置https踩坑全过程

首先普通的http配置请参考
【ISA Server 2006发布Web网站】 https://www.bilibili.com/video/BV1qc411v75w/?share_source=copy_web&vd_source=f35b2f2d0d34140bcba81b8b6f8c1b69

本文只一笔带过,讲一下https部分。

正解

由于我维护的是windows server 2003的服务器,版本太老了。导致无法成功安装证书,失败过程见文章末尾。

后来我就曲线救国。
让nginx来处理443端口的所有请求。

确保ISA Server没有占用443端口

要让 ISA Server 2006 不接管 443端口,需要从其配置中释放对443端口的占用。ISA Server 通过 Web 监听器接收HTTPS请求,默认情况下,它会占用443端口。你需要调整或禁用监听443端口的 Web 监听器和发布规则。

具体步骤如下:

  1. 检查 ISA Server 的 Web 监听器配置
    ISA Server 2006 通过 Web 监听器接收 SSL 流量,监听器定义了ISA Server如何监听和处理HTTP/HTTPS请求。首先,我们需要定位那些监听443端口的 Web 监听器。

1.1 打开ISA管理控制台
在服务器上打开 ISA Server 管理控制台 (ISA Server Management)。
1.2 导航到“防火墙策略”
在控制台左侧的树形菜单中,展开 “防火墙策略 (Firewall Policy)”。
在这里,你会看到现有的所有发布规则,查看是否有使用HTTPS(443端口)的Web发布规则。
1.3 找到监听443端口的 Web 监听器
在防火墙策略中,右键点击某个Web发布规则,然后选择 “属性 (Properties)”。
在规则的属性窗口中,点击 “监听器 (Listener)” 选项卡。
这里会显示该发布规则所使用的Web监听器。注意其中是否有监听443端口的 Web 监听器。
1.4 修改或禁用监听器
如果找到了监听443端口的监听器,你有两种选择:
禁用监听器:如果你不再需要这个监听器来处理HTTPS请求,可以直接禁用它。

进入 “监听器” 选项卡,选择正在监听443端口的监听器,右键点击并选择 “禁用”。
修改监听器端口:如果你还需要这个监听器来处理HTTP(80端口)等其他流量,但不希望它占用443端口,你可以修改它的端口配置。

双击该监听器,在属性窗口中,选择 “网络 (Networks)” 选项卡。
在此选项卡下,点击 “连接端口 (Ports)”。
取消勾选 “SSL 端口 443”,并仅保留需要的其他端口(如HTTP的80端口)。
1.5 保存配置并应用
完成监听器的修改或禁用操作后,点击 “确定” 保存配置。
右键点击 “防火墙策略”,选择 “应用 (Apply)”,让更改生效。

仅Nginx占用443

worker_processes  1;
events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {   listen 443 ssl;server_name museum.xxx.com;index index.html index.htm;ssl_certificate   E:/ssl/museum/museum.xxx.com.pem;ssl_certificate_key  E:/ssl/museum/museum.xxx.com.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;# Nginx config examplelocation / {proxy_pass http://192.168.70.158:80;proxy_http_version 1.1;proxy_read_timeout 300;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Real-PORT $remote_port;}
}}

ISA Server开放https访问

在这里插入图片描述
我的最终配置如下:
在这里插入图片描述

做完这一步就成功了,ISA Server 负责80端口的转发,443端口由Nginx负责。

总结

为什么不用nginx负责所有的转发呢?历史遗留问题啊,客户的服务器使用ISA Server已经近20年了,一年都配的是80端口的,我的项目是第1个使用https(443)端口的项目。理论上我可以用nginx完全替代所有的请求,但是不太敢,风险太大了。
总算解决了,耗时约 3个多小时。


下面是失败的过程,仅供参考。

下载证书文件

申请证书的方法可以参考:
【nginx配置https】 https://www.bilibili.com/video/BV1TK411X7SE/?share_source=copy_web&vd_source=f35b2f2d0d34140bcba81b8b6f8c1b69

下载的时候选择IIS的证书,获取到的文件名如下:

  • www.xxx.com.pfx
  • pfx-password.txt

安装证书

双击pfx文件,根据向导一路下一步就行了。要输入密码时,输入pfx-password.txt中的密码即可。

证书未正确安装

经测试发现证书在高版本系统中有效,到windows 2003中不行
2003中显示如下
在这里插入图片描述
在windows 11中是没有问题的
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计 招生宣传管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

C语言扫盲

文章目录 C版本C语言特征GCCprintf数据类型函数指针内存管理void指针 Struct结构和Union结构typedef预处理器make工具cmake工具Projectintegral of sinc functionemulator embedded systeman event schedule 补充在线Linux终端安装Linux参考 建议还是国外教材学习…人家的PPT比…

物联网系统中OLED屏主流驱动方案详解

01 物联网系统中为什么要使用OLED驱动芯片 卓越的显示效果 1、高对比度和鲜艳色彩:OLED屏幕能够自发光,因此能够实现极高的对比度和鲜艳的色彩表现,这在物联网设备的显示界面上尤为重要,可以为用户提供更清晰、更生动的视觉体验…

[论文精读]TorWard: Discovery, Blocking, and Traceback of Malicious Traffic Over Tor

期刊名称:IEEE Transactions on Information Forensics and Security 发布链接:TorWard: Discovery, Blocking, and Traceback of Malicious Traffic Over Tor | IEEE Journals & Magazine | IEEE Xplore 中文译名:TorWard:…

jvm专题 之 内存模型

文章目录 前言一个java对象的运行过程jvm内存分布程序的基本运行程序对象什么是对象对象的创建一、类加载检查二、对象内存分配三、初始化零值四、设置对象头五、执行初始化方法 对象的访问定位 对象与类的关系由类创建对象的顺序 对象的创建 前言 一个程序需要运行&#xff0…

JNI实现Java调用C++函数

1. 测试环境 操作系统:win10JDK版本:JDK11 安装教程gcc版本:8.1.0 2. 声明native方法 // HelloJNI.java public class HelloJNI {// 输出Hello JNI from CPP. private native static void sayHello();// 实现两个整数相加private native s…

Android手机投屏方案实现方式对比

文章目录 1.概述2.术语解释2.1 miracast2.2 scrcpy2.4 Wifi Direct2.5 app_process 3.技术实现对比3.1 Miracast3.1.1 Miracast介绍3.1.2 Miracast原理3.1.3 Miracast优缺点分析 3.2 Scrcpy3.2.1 scrcpy 介绍3.2.2 scrcpy的实现原理3.2.3 scrcpy的优缺点分析 3.3 Google cast3.…

【学习笔记】手写 Tomcat 四

目录 一、Read 方法返回 -1 的问题 二、JDBC 优化 1. 创建配置文件 2. 创建工具类 3. 简化 JDBC 的步骤 三、修改密码 优化返回数据 创建修改密码的页面 注意 测试 四、优化响应动态资源 1. 创建 LoginServlet 类 2. 把登录功能的代码放到 LoginServlet 类 3. 创…

Python 算法交易实验89 QTV200日常推进-模式思考

说明 过去几天大A的表现还是比较戏剧化的。 让我想到了: 1 价稳量缩模式。之前很长一段时间都是这种状态,最终还是大爆发了,这个可取。2 周期模式。假设价格是一个周期为T(T可变)的正弦波,所以最终还是回到了几个月前的位置&…

UE学习篇ContentExample解读------Blueprints Advanced-下

文章目录 总览描述批次阅览2.1 Timeline animation2.2 Actor tracking2.3 Button Trigger using a blueprint interface2.4 Opening door with trigger2.5 Child Blueprints 概念总结致谢: 总览描述 打开关卡后,引入眼帘的就是针对关卡的总体性文字描述&…

物联网系统中基于IIC通信的数字温度传感器测温方案

01 物联网系统中为什么要使用数字式温度传感器芯片 物联网系统中使用数字式温度传感器芯片的原因主要有以下几点: 高精度与稳定性 高精度测量:数字式温度传感器芯片,如DS18B20,采用芯片集成技术,能够有效抑制外界不…

算法宝典——二分查找算法

1.认识二分查找 二分查找的时间复杂度:O(logN) 二分查找属于算法中耳熟能详的一类,通常的我们会说只有数组有序才可以使用二分查找,不过这种说法并不完全正确,只要数据具有"二段性"就可以使用二分查找,即我们可以找出一…

【零散技术】Odoo PDF 打印问题问题合集

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo PDF打印 是一个必备功能,但是总会遇到一些奇奇怪怪的问题,此帖仅做记录,方便查阅。 目录 1、样式丢失 2、部分结构丢失 3、没有中文字体 1、样式丢失 这种情况一般是由于 …

ppt压缩有什么简单方法?压缩PPT文件的几种方法

ppt压缩有什么简单方法?许多用户常常面临文件过大的问题,尤其在需要通过电子邮件发送或上传至网络平台时,大文件会带来诸多麻烦。此外,较大的文件可能导致软件响应缓慢,从而影响整体的演示体验。因此,寻找有…

C++ 基础入门-命名空间、c++的输入输出、缺省参数、函数重载、引用、内联函数超详细讲解

这篇文章主要对c的学习做一个基础铺垫,方便后续学习。主要通过示例讲解命名空间、c的输入输出cout\cin,缺省参数、函数重载、引用、内联函数,auto关键字,for循环,nullptr以及涉及到的周边知识,面试题等。为…

机械键盘驱动调光DIY--【DAREU】

1 下载键盘对应的驱动,不要装到C盘 达尔优驱动下载中心 2 驱动更改教程 标准模式 键盘功能 鼠标功能 切换灯光 切换配置文件 多媒体 windows快捷键 禁用 Fn 启动程序 文本功能 光标定位 FN模式 灯光效果设置 注意 宏--自定义功能

面试扩展知识点

1.C语言中分为下面几个存储区 栈(stack): 由编译器自动分配释放堆(heap): 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收全局区(静态区): 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域&#…

用于探索和测试API的开源IDE工具-Bruno

1、前言 在进行软件开发与测试过程中,无论是开发人员还是测试人员,都会或多或少地进行接口调试与接口测试。尤其针对那种测试流程规范性很高的项目,测试人员进行接口测试是不可或缺的一部分。而这其中,大多数都会使用 Postman 作…

9.26 Buu俩题解

[CISCN2019 华东北赛区]Web2 看wp写完之后写的 知识点 存储型XSS与过滤绕过sql注入 题解 好几个页面,存在登录框可以注册,存在管理员页面(admin.php) ->既然存在管理员页面,且直接访问admin.php提示我们 说明存在身份验证&#xff0…

crypto-js解密报错malformed utf-8 data

在进行加解密处理时出现这个问题。 但是当在一个完整程序运行环境内加密字符串,解密字符串是没问题的。 当把加密的字符存储到txt文件,在读取解密时出现错误无法解密。 最后,使用res.replace(/\s/g,‘’)正则过滤掉txt文件内的空格就成功了。…