当前位置: 首页 > news >正文

Exchange 2013升级以及域名绑定等若干问题

环境简介

Exchange 2013服务器位于ad域中,系统为Windows server 2012 R2,其内部域名为:

mail.ad.com

一. Exchange客户端无法在浏览器中正常运行

在域中部署Exchange服务器后,除了可以通过outlook、foxmail等邮件客户端来使用邮箱功能,也可以直接通过浏览器来访问。

对于普通邮件收发,访问地址为owa:

https://mail.ad.com/owa

对于邮箱后台管理,访问地址为ecp:

https://mail.ad.com/ecp

以我的经验,曾经部署过几次Exchange服务器,都遇到同样的问题。那就是Exchange服务器刚部署完毕的时候,一切正常,但在没有变更过Exchange服务器配置的情况下,经过若干时间后,通过浏览器访问Exchange将会出现异常,表现为:

a. ecp可以通过浏览器正常访问;

b. owa无法通过浏览器正常访问,owa页面能够正常显示登录界面,但是在执行登录动作之后,浏览器一直处于loading状态,或者空白页、或者404,不同浏览器表现会有差异。

并且这一表现不是绝对的,owa在IE浏览器、以及某些版本的Firefox浏览器中运行正常,在Edge、Chrome等大多数浏览器中会出现上面描述的问题,但在极低的概率下也能正常运行。

c. outlook、foxmail等使用邮箱功能正常。

由于公司成员都是通过outlook、foxmail等邮件客户端来访问exchange,因此这一问题被我忽略。

如今,有了通过浏览器访问exchange的需求,便需要查一下究竟。在不能正常访问exchange的浏览器中,通过浏览器的开发者工具查看控制台,会看到如下报错:

GET /owa/auth/errorfe.aspxowaError=ClientError;exMsg=Sys.InvalidOperationException: You are trying to getan instance of the UserConfiguration object before it is loaded from theserver!

1. 问题原因

Exchange与大多数较新的浏览器不兼容,只能运行于IE等老旧的浏览器中。

https://cloudblue.freshdesk.com/support/solutions/articles/44001884197-exchange-2013-error-404-after-successful-login-into-owa-

2. 解决办法

安装必要的Exchange更新。

3. Exchange的内部版本号

Exchange Server 内部版本号和发行日期可在以下地址查询:

https://learn.microsoft.com/zh-cn/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019

3.1 查看Exchange版本

若要查看您正在运行的 Exchange 2013 版本的内部版本号,请在 Exchange 命令行管理程序中运行以下命令:

Get-ExchangeServer | flname,edition,admindisplayversion

例如,我直接部署的Exchange服务器,通过命令输出对比微软官方的版本列表,其版本为:

Exchange Server 2013 CU3

2013 年 11 月 25 日

15.0.775.38

15.00.0775.038

而较新的Exchange 2013版本则为:

Exchange Server 2013 CU23

2019 年 6 月 18 日

15.0.1497.2

15.00.1497.002

显然,有必要升级一下Exchange服务器了。

4. Exchange升级步骤

4.1. 下载Exchange Server 2013 CU23累计升级安装包

下载地址即在微软提供的Exchange Server内部版本号和发行日期列表中:

https://www.microsoft.com/en-us/download/details.aspx?id=58392

4.2. 运行CU23升级安装包

在Exchange服务器上直接运行CU23升级安装包,安装程序会首先检查服务器是否满足安装的先决条件,当然通常都是不满足的了,这时就根据提示一一操作以使得服务器满足升级包的安装条件,以下步骤就是通常需要做的。

a. 安装Windows Server 2012 R2 Update(KB2919355)

下载地址:

https://www.microsoft.com/zh-CN/download/details.aspx?id=42334

版本:

2919355

包含以下文件:

clearcompressionflag.exe

Windows8.1-KB2919355-x64.msu

Windows8.1-KB2932046-x64.msu

Windows8.1-KB2934018-x64.msu

Windows8.1-KB2937592-x64.msu

Windows8.1-KB2938439-x64.msu

Windows8.1-KB2959977-x64.msu

你没有看错,这些补丁包的名称的确写的是Windows8.1。

这些 KB 必须按以下顺序安装:clearcompressionflag.exe、KB2919355、KB2932046、KB2959977、KB2937592、KB2938439、KB2934018。

在安装最重要的KB2919355补丁包时,你可能会安装失败,收到提示:

该补丁包不适用于当前系统。

这是因为KB2919442 是Windows Server 2012 R2 更新的先决条件,需要先安装KB2919442,然后才能安装KB2919355。

KB2919442下载地址:

https://www.microsoft.com/zh-CN/download/details.aspx?id=42162

先安装之,再重新执行KB2919355的安装,补丁安装过程中需要多次重启。

b. 安装Microsoft .NET Framework4.7.2

下载地址:

https://support.microsoft.com/zh-cn/topic/%E9%80%82%E7%94%A8%E4%BA%8E-net-framework%E7%9A%84-microsoft-windows-4-7-2-%E8%84%B1%E6%9C%BA%E5%AE%89%E8%A3%85%E7%A8%8B%E5%BA%8F-05a72734-2127-a15d-50cf-daf56d5faec2

c. 安装Visual C++ RedistributablePackages for Visual Studio 2013

下载地址:

https://www.microsoft.com/zh-CN/download/details.aspx?id=40784

d. 在满足安装CU23的所有先决条件后,重新运行CU23安装程序

二. Exchange更新后ECP和OWA无法正常使用

在完成Exchange升级后,重新在浏览器中访问ECP和OWA,GG~

OWA登录后一直loading的问题确实没有了,但是现在变成了HTTP 500错误,更要命的是,ECP也不能访问了,同样是HTTP 500错误。

1. 问题原因和解决办法

在Exchange升级之后,一些服务器配置可能会过时,不再正确,这就需要手动更新校正这些配置文件。Exchange已经提供了PowerShell脚本修复工具:

UpdateConfigFiles.ps1

UpdateCAS.ps1

这两个脚本位于Exchange Server的安装目录之下:

C:\Program Files\Microsoft\ExchangeServer\V15\Bin\

在Exchange服务器上,以管理员身份运行Exchange Management Shell工具,cd到Exchange Server的BIN目录,并执行修复脚本:

cd “C:\Program Files\Microsoft\ExchangeServer\V15\Bin\”

.\UpdateConfigFiles.ps1

.\UpdateCAS.ps1

然后重启Exchange服务器即可。

三. Exchange变更域名

在过去,Exchange一直使用内部域名:

mail.ad.com

来提供服务,其SSL证书也是自签名证书,需要手动信任。接下来我们的需求是将其域名改为外部经过工信部备案的域名:

mail.outer.com

并且使用匹配该域名的权威SSL证书,以使得Exchange更好地满足疫情期间居家办公的需求。

操作步骤比较多,后文将详细介绍。

1. 申请权威ssl证书

在域名对应的外网nginx服务器上,为该域名申请证书,这很容易办到。例如,我们利用acme.sh等工具,可以申请到zeroSSL等免费ssl证书。申请到的证书两个部分,即公钥证书以及私钥,对应两个文件,如:

证书:mail.outer.com.fullchain.cer

私钥:mail.outer.com.key

2. 转换证书格式

在外网申请到的证书格式为cer,仅包含公钥,私钥独立保存为单独的key文件,而Exchange和iis服务器接受的ssl证书要求将证书公钥和私钥打包为单独一个文件。这里通过openssl工具将cer证书与key文件合并为一个pfx文件,命令如下:

openssl pkcs12 -export -out C:\mail.pfx -inkey C:\mail.key -in C:\mail.cer

在导出pfx文件时需要设置一个导出密码,以为该文件提供基本的保护,后续在使用该pfx文件时,将需要提供该密码。

3. 导入证书

在获得证书的pfx文件后,接下来便是导入证书。

根据操作顺序,在导入证书的操作上,有两种方式:

a.先为exchange导入证书,再为iis服务器导入证书,在此操作顺序下,可将证书文件以smb共享文件的方式,直接在Exchange的管理后台ecp中执行导入。

b.先为iis配置证书绑定,再为exchange配置证书,在此操作顺序下,需先将证书导入服务器的证书管理单元,再供后续使用。

下文将对两种证书导入方式分别介绍。

3.1. 通过证书管理单元导入证书

Exchange依靠iis来提供web服务,iis服务器控制界面无法直接为iis服务器导入证书,因为iis服务器控制界面只提供了在本机选择证书的功能。因此,我们首先需要在iis所在服务器的证书控制单元上导入证书,具体即是在iis所在服务器上执行以下操作。

注意:在证书控制单元也可以直接导入cer证书,但是由于cer证书不包含私钥,因此无法提供给iis使用。

a. 打开Windows服务器控制台

开始 > 运行 > 输入mmc,打开Windows服务器控制台(MMC,MicrosoftManagement Console)。

b. 在控制台添加证书管理单元

如果控制台中不包含证书管理单元,则在控制台的顶部菜单栏,选择文件 > 添加/删除管理单元,为本地计算机添加证书管理单元。

在证书管理单元对话框,选择计算机账户,单击下一步。

在选择计算机对话框,选择本地计算机(运行此控制台的计算机),单击完成。

在添加或删除管理单元对话框,单击确定。

c. 在证书管理单元中导入证书

在控制台左侧导航栏,展开控制台根节点 > 证书(本地计算机) > 个人 > 证书,然后打开右键菜单,选择所有任务 > 导入。

使用证书导入向导:单击下一步。

要导入的文件对话框:单击浏览,选择pfx格式的证书文件,单击下一步。注意,在打开文件时,可能需要将文件过滤类型设置为所有文件(*),然后再选择pfx证书文件。

私钥保护:输入我们在使用openssl转换cer文件为pfx文件时提供的导出密码。

证书存储:选中根据证书类型,自动选择证书存储,单击下一步。

正在完成证书导入向导:单击完成。

收到导入成功提示后,单击确定。

3.2. 通过Exchange ecp导入证书

a. 共享证书文件

将证书文件mail.pfx放置于域中任意共享的smb目录。

b. 在ecp中执行证书导入

以管理员身份登录Exchange ECP,选择:

服务器 > 证书 > … > 导入证书

填写证书的共享路径中

输入证书的保护密码

即可完成证书导入。

3.3.补充说明

结合后文即将介绍的绑定证书的操作来看,在通过证书管理单元导入证书,并为iis配置证书绑定后,exchange ecp可能能够自动识别到新的证书,从而在exchange ecp中,不必再执行证书导入。

同样地,如果已经在exchange ecp中执行了证书导入,并且分配给了iis服务,则证书管理单元的证书导入操作也就可以省略。

以上证书问题需要操作确认,如果以其中一种方式导入的证书,在另一种方式中没有自动识别的话,分别以两种方式执行导入即可。

4. 绑定证书

4.1. Exchange证书服务分配

完成证书导入后,可分别为Exchange服务器,以及为Exchange服务器服务的iis服务器绑定证书。

以管理员身份登录exchange ecp:

服务器 > 证书 > 选中新导入的证书

配置之,如下所示为各项邮箱服务分配此证书。

4.2. 修改Exchange虚拟目录域名

服务器 > 虚拟目录

依此选择各项服务,将各项服务绑定的域名修改为新域名。

4.3. 修改Outlook Anywhere域名

服务器 > 选择对应Exchange服务器 > Outlook Anywhere

修改Outlook Anywhere域名。

4.4. 修改Exchange AutoDiscover域名

Exchange自动发现服务用来实现域中outlook等客户端的自动化配置,但是其域名无法直接在ecp中查看、修改,其配置需借助PowerShell。

a.查看AutoDiscover域名

在Exchange Management Shell 中执行PowerShell命令Set-ClientAccessServer,查看AutoDiscover域名:

Get-ClientAccessServer| Format-List

b. 修改AutoDiscover域名

在Exchange Management Shell 中执行PowerShell命令Set-ClientAccessServer,修改AutoDiscover域名:

Set-ClientAccessServer-Identity mail.ad.com -AutoDiscoverServiceInternalUri "https:

//mail.outer.com/autodiscover/autodiscover.xml"

5. iis证书绑定

通过iis控制界面,为iis服务器上的Exchange站点绑定证书。

iis中为Exchange服务的站点有两个:

DefaultWeb Site

ExchangeBack End

分别为这两个站点的https服务绑定新的证书即可。需要补充说明的是,这两个站点已经默认包含通配符域名的https服务,分别为:

DefaultWeb Site:https://*:443

ExchangeBack End:https://*:444

新的证书绑定到这两个通配符域名即可,不要为这两个站点再绑定新的域名,否则可能造成Exchange不能正常服务。例如,如果另外为Exchange Back End绑定新域名:

https://mail.outer.com:444

则我们在使用ecp和owa时,将会遇到一些异常,例如能够正常登录,但是具体功能性响应错误等,暂时不知道原因。

6. 验证域名变更

6.1. 通过Exchange自动发现服务验证域名调整

自动发现服务能够帮助邮箱客户端识别到Exchange服务器的调整,并更新客户端的配置。

在outlook的任务栏小图标上,按住ctrl健,并右键单击之,可激活隐藏选项:

测试电子邮件自动配置

选择之打开测试窗口,执行自动发现测试,查看Exchange返回的结果和日志,检查其中涉及的域名是否已变更为新的域名。

相关文章:

Exchange 2013升级以及域名绑定等若干问题

环境简介Exchange 2013服务器位于ad域中,系统为Windows server 2012 R2,其内部域名为:mail.ad.com一. Exchange客户端无法在浏览器中正常运行在域中部署Exchange服务器后,除了可以通过outlook、foxmail等邮件客户端来使用邮箱功能…...

linux安装jenkins

1. 官网寻找安装方式 进入到jenkins官网,找到对应的下载页面:https://www.jenkins.io/download/ 根据自己系统还有想要使用的版本,进行选择即可。这里我们使用CentOS作为示例,版本选择长期支持版(LTS) 2.…...

【MySQL】MySQL表的增删改查(CRUD)

✨个人主页:bit me👇 ✨当前专栏:MySQL数据库👇 ✨算法专栏:算法基础👇 ✨每日一语:生命久如暗室,不碍朝歌暮诗 目 录🔓一. CRUD🔒二. 新增(Creat…...

GCC for openEuler 数据库性能优化实践

GCC for openEuler是基于开源GCC开发的编译器工具链(包含编译器,汇编器,链接器),在openEuler社区开源发布,并通过鲲鹏社区免费提供二进制包,支持aarch64处理器架构。 关键特性 支持鲲鹏微架构芯…...

【C++】类和对象(第二篇)

文章目录1. 类的6个默认成员函数2. 构造函数2.1 构造函数的引出2.2 构造函数的特性3. 析构函数3.1 析构函数的引出3.2 析构函数的特性4. 拷贝构造函数4.1 概念4.2 特性5.赋值运算符重载5.1 运算符重载概念注意练习5.2 赋值重载实现赋值重载的特性6. const成员函数7. 取地址及co…...

MySQL数据库(数据库约束)

目录 数据库约束 数据库约束的类型: null约束 : unique约束(唯一约束): default约束(默认值约束): primary key约束(主键约束): for…...

Hive的安装与配置

一、配置Hadoop环境先看看伪分布式下的集群环境有没有错误的情况:输入命令:start-all.sh jps查看伪分布式的所有进程是否完善二、解压并配置HiveHive压缩包→ https://pan.baidu.com/s/1eOF_ICZV8rV-CEh3nX-7Xw 提取码: m31e 复制这段内容后打开百度网盘…...

关于医院医用医疗隔离电源系统应用案例的分析探讨

【摘要】:介绍该三级医院采用安科瑞医用隔离电源柜,使用落地式安装方式,从而实现将TN系统转化为IT系统,同时监测系统绝缘情况。 【关键词】医用隔离电源柜;IT系统;绝缘情况;中西医结合医院&…...

【LeetCode】剑指 Offer 07. 重建二叉树 p62 -- Java Version

题目链接:https://leetcode.cn/problems/zhong-jian-er-cha-shu-lcof/ 1. 题目介绍(07. 重建二叉树) 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的…...

ERROR 1114 (HY000): The table ‘tt2‘ is full

insert 操作时提示is full 问题原因 rootlocalhost 11:55:41 [t]>show table status from t like ‘tt2’ \G ; *************************** 1. row *************************** Name: tt2 Engine: MEMORY Version: 10 Row_format: Fixed Rows: 7056 Avg_row_length: 944…...

考了PMP证后工资大概是多少 ?(含pmp资料)

这个岗位的不同还有每个公司的薪资也是不一样的,具体的数字肯定是没有的,但大概的比例还是有的,据PMI调查,在获得PMP证书的人当中,在PMP认证一年后,年薪有所增长的比例为66%,上涨幅度主要集中在…...

基于国产龙芯 CPU 的气井工业网关研究与设计(一)

当前,我国气田的自动化控制程度还未完全普及,并且与世界已普及的气井站的自 动化程度也存在一定的差距。而在天然气资源相对丰富的国家,开采过程中设备研发资 金投入较大,研发周期较长,更新了一代又一代的自动化开采系…...

40/365 javascript 数据类型

1.数据类型 number类型:整数,小数都属于这一类,不具体区分 字符串:hello, "hello" 布尔类型:true,false 逻辑运算符: && || ! 比较运算符: : 类型不一致&#x…...

后勤管理系统—服务台管理功能

数图互通是一家IT类技术型软件科技公司,专业的不动产、工作场所、空间、固定资产、设备家具、设施运维及可持续性管理解决方案软件供应商。 一、后勤管理系统服务台管理功能包含: 1、专业自动化、集中管理的自助服务助理,随时响应服务请求。…...

Spring Boot 是什么,应该如何学习,有哪些优缺点

1、Spring Boot 是什么? Spring Boot是一个基于Spring框架的开源项目,它简化了Spring应用程序的开发过程,提供了一种快速、便捷、可扩展的方式来构建Spring应用程序。 Spring Boot通过自动化配置机制简化了Spring应用程序的配置过程&#x…...

使用yolov5和强化学习训练一个AI智能欢乐斗地主(一)

这里写自定义目录标题项目介绍项目过程介绍训练yolov5目标检测斗地主收集数据集yolov5调参项目介绍 你好! 欢迎阅读我的文章,本章将介绍,如何使用yolov5和强化学习训练一个AI斗地主,本项目将分为三个部分,其中包含&am…...

C++ 浅谈之 AVL 树和红黑树

C 浅谈之 AVL 树和红黑树 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是 C 浅谈系列,收录在专栏 C 语言中 😜😜😜 本系列阿呆将记录一些 C 语言重要的语法特性 &#x1f3…...

【Kotlin】Kotlin函数那么多,你会几个?

目录标准函数letrunwithapplyalsotakeIftakeUnlessrepeat小结作用域函数的区别作用域函数使用场景简化函数尾递归函数(tailrec)扩展函数高阶函数内联函数(inline)inlinenoinlinecrossinline匿名函数标准函数 Kotlin标准库包含几个…...

饲养员喂养动物-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

【案例4-2】饲养员喂养动物 记得 关注,收藏,评论哦,作者将持续更新。。。。 【案例目标】 案例描述 饲养员在给动物喂食时,给不同的动物喂不同的食物,而且在每次喂食时,动物都会发出欢快的叫声。例如&…...

数据分析:消费者数据分析

数据分析:消费者数据分析 作者:AOAIYI 创作不易,如果觉得文章不错或能帮助到你学习,记得点赞收藏评论一下哦 文章目录数据分析:消费者数据分析一、前言二、数据准备三、数据预处理四、个体消费者分析五、用户消费行为总…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛&#xf…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...