Sun Java System Messaging Server 6 2005Q4 管理指南

第 7 章 配置和管理多路复用器服务

本章介绍 Messaging Server 附带的两个多路复用器:用于标准邮件协议(POP、IMAP 和 SMTP)的 Messaging Multiplexor (MMP) 和用于 Messenger Express Web 接口的 Messenger Express Multiplexor。

本章包含以下主题:

多路复用器服务

多路复用器是实现横向可伸缩性(通过添加更多计算机来支持更多用户的能力)所必需的,因为它提供了可用于间接连接到多个邮件存储的单一域名。多路复用器还可以提供安全性方面的优点。

MMP 是独立于 Messaging Server 进行管理的,而 Messenger Express Multiplexor 则内置于邮件存储和邮件访问安装所附带的 HTTP 服务 (mshttpd) 中。

多路复用器的优点

频繁使用的 Messaging Server 上的邮件存储会增长到非常大。因此,将用户邮箱和用户连接分布在多个服务器上可以提高容量和性能。此外,使用多台小型服务器计算机可能比使用一台大型、高容量、多处理器的计算机更划算。

如果您的邮件服务器安装大小要求使用多个邮件存储,则您的组织可以通过使用多路复用器在若干方面受益。用户与其邮件存储之间的间接连接,以及在多个 Messaging Server 上重新配置用户帐户的方便性具有以下优点:

关于 Messaging Multiplexor

Sun Java System Messaging Multiplexor (MMP) 是专用的 Messaging Server,用作与多台后端 Messaging Server 之间的单点连接。使用 Messaging Multiplexor,大规模的邮件服务提供商可以将 POP 和 IMAP 用户邮箱分布在多台计算机上,以增大邮件存储容量。所有用户都连接到一个多路复用器服务器,该服务器会将每个连接重定向到适当的 Messaging Server。

如果您为许多用户提供电子邮件服务,则可以安装和配置 Messaging Multiplexor,这样整个 Messaging Server 阵列便可以作为一个单一主机呈现给邮件用户。

Messaging Multiplexor 是作为 Messaging Server 的一部分提供的。您可以在安装 Messaging Server 或其他 Sun Java System 服务器的同时安装 MMP,也可以在以后单独安装 MMP。MMP 支持:

Messaging Multiplexor 的工作原理

MMP 是多线程的服务器,它可以协助在多台服务器计算机上分布邮件用户。MMP 可控制将去往其他服务器计算机(用户邮箱所在的计算机)的外来客户端连接。客户端将连接到 MMP 本身,MMP 为用户确定正确的服务器,然后连接到该服务器并在客户端和服务器之间传递数据。此功能使 Internet 服务提供商和其他大型安装能够将邮件存储分布在多台计算机上(可以增加容量),同时为用户和外部客户端呈现了一个单一的邮件主机(用户可以提高效率,外部客户端可以增强安全性)。Messaging Multiplexor 的工作原理显示了 MMP 安装中服务器和客户端彼此之间的相关方式。

图 7–1 MMP 安装中的客户端和服务器

此图形描述了 MMP 安装中的客户端和服务器。

所有 POP、IMAP 和 SMTP 客户端都可以使用 Messaging Multiplexor。MMP 将接受连接、执行 LDAP 目录查找并适当地路由连接。与其他邮件服务器安装中的典型情况一样,每个用户都被指定一个位于特定 Messaging Server 上的特定地址和邮箱。但是,所有连接都将通过 MMP 来路由。

下面详细介绍了建立用户连接中所涉及的步骤:

  1. 用户的客户端连接到 MMP,MMP 将接受初步的验证信息(用户名)。

  2. MMP 查询 Directory Server 以确定包含该用户的邮箱的 Messaging Server。

  3. MMP 连接到适当的 Messaging Server,重新进行验证,然后在连接过程中充当通信管道。

加密 (SSL) 选项

Messaging Multiplexor 支持在 Messaging Server 及其邮件客户端之间进行未加密和加密的 (SSL) 通信。Messaging Server 的当前版本支持新证书数据库格式 (cert8.db)。

当启用 SSL 时,MMP 支持 STARTTLS,并且还可以配置 MMP 以侦听其他用于 SSL IMAP、POP 和 SMTP 连接的端口。

要为您的 IMAP、POP 和 SMTP 服务启用 SSL 加密,请分别编辑 ImapProxyAService.cfgPopProxyAService.cfgSmtpProxyAService.cfg 文件。还必须编辑 AService.cfg 文件中的 default:ServiceList 选项,以包含所有 IMAP、POP 和 SMTP 服务器端口的列表,而不管它们是否安全。有关详细信息,请参见配置 MMP 以使用 SSL

默认情况下,SSL 没有被启用,因为 SSL 配置参数被注释掉了。要启用 SSL,必须安装 SSL 服务器证书。然后,应当取消注释并设置 SSL 参数。有关 SSL 参数的列表,请参见 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》中的“Encryption (SSL) Option”

基于证书的客户端验证

MMP 可以使用证书映射文件 (certmap) 将客户端的证书与用户/组 Directory Server 中的正确用户相匹配。

要使用基于证书的客户端验证,还必须启用 SSL 加密,如加密 (SSL) 选项中所述。

还必须配置一个存储管理员。您可以使用邮件管理员,但是建议您为此目的创建一个唯一的用户 ID(例如 mmpstore),以便根据需要设置权限。

请注意,MMP 不支持 certmap 插件,而是接受 certmap.conf 文件中增强的 DNCompsFilterComps 属性值条目。这些增强的格式条目使用以下格式:


mapname:DNComps FROMATTR=TOATTR  mapname:FilterComps FROMATTR=TOATTR

这样,便可以使用证书的 subjectDN 中的 FROMATTR 值来构成一个具有 TOATTR=value 元素的 LDAP 查询。例如,可以使用以下行将 subjectDN 为 "cn=Pilar Lorca, ou=pilar, o=siroe.com" 的证书映射到 LDAP 查询 "(uid=pilar)":

mapname:FilterComps ou=uid

Procedure要为您的 IMAP 或 POP 服务启用基于证书的验证,请执行以下操作:

步骤
  1. 确定要用作存储管理员的用户 ID。

    虽然可以为此目的使用邮件管理员,但是建议为存储管理员创建一个单独的用户 ID(例如 mmpstore)。

  2. 确保已启用(或将启用)SSL 加密,如加密 (SSL) 选项中所述。

  3. 通过在您的配置文件中指定 certmap.conf 文件的位置,将 MMP 配置为使用基于证书的客户端验证。

  4. 至少安装一个信任的 CA 证书,如安装信任的 CA 证书的步骤中所述

用户预验证

MMP 通过作为外来用户绑定到目录并记录结果为您提供了预验证用户的选项。


注 –

启用用户预验证会降低服务器的性能


日志条目的格式为:


date time (sid 0xhex) user name pre-authenticated - client 
IP address, server IP address

其中,date 的格式为 yyyymmddtime 是在服务器上配置的时间,其格式为 hhmmsshex 是会话标识符 (sid),以十六进制数字表示;user name 包括虚拟域名(如果有),IP 地址采用以点分隔的四组数字格式。

MMP 虚拟域

MMP 虚拟域是一组与服务器 IP 地址相关联的配置设置。此功能的主要用途是为每个服务器 IP 地址提供不同的默认域。

用户可以使用简短形式的用户 ID 或全限定的用户 ID(格式为 user@domain)来对 MMP 进行验证。提供简短形式的用户 ID 时,MMP 将附加 DefaultDomain 设置(如果已指定)。因此,支持多个托管域的站点只需通过将服务器 IP 地址和 MMP 虚拟域与每个托管域相关联便可以允许使用简短形式的用户 ID。

要为给定的托管域查找用户子树,建议通过该域的 LDAP 域树条目中的 inetDomainBaseDN 属性来查找。MMP 的 LdapUrl 设置不适用于此目的,因为后端邮件存储服务器还需要在 LDAP 中查找用户并且不支持虚拟域。

启用 Sun LDAP Schema 2 时(请参见 《Sun Java Enterprise System 2005Q4 Installation Guide for UNIX》《Sun Java System Communications Services 6 2005Q4 Schema Reference》),指定域的用户子树将是该域组织节点下的子树中的所有用户。

要启用虚拟域,请编辑实例目录中的 ImapProxyAService.cfgPopProxyAService.cfgSmtpProxyAService.cfg 文件,以便 VirtualDomainFile 设置可以指定虚拟域映射文件的完整路径。

每个虚拟域文件条目都具有以下语法:

vdmap name 
IPaddrname:parameter value

其中,name 仅用于将 IP 地址与配置参数相关联,并且可以是您选择使用的任何名称;IPaddr 采用以点分隔的四组数字格式;parametervalue 对用于配置虚拟域。设置后,虚拟域配置参数值将覆盖全局配置参数值。

下面列出了可以为虚拟域指定的配置参数:


AuthCacheSizeAuthCacheSizeTTL
AuthService
BindDNBindPass
CertMap
ClientLookup
CRAMs
DefaultDomain
DomainDelim
HostedDomains
LdapCacheSizeLdapCacheTTL
LdapURL
MailHostAttrs
PreAuth
ReplayFormat
RestrictPlainPasswords
StoreAdminStoreAdminPass
SearchFormat
TCPAccess
TCPAccessAttr

注 –

除非正确设置了 LdapURL,否则 BindDNBindPassLdapCacheSizeLdapCacheTTL 设置将被忽略。


有关这些配置参数的详细描述,请参见 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》

关于 SMTP 代理

MMP 包含一个 SMTP 代理(默认情况下被禁用)。大多数站点并不需要 SMTP 代理,因为 Internet 邮件标准已经为 SMTP(DNS MX 记录)的横向可伸缩性提供了足够的机制。

SMTP 代理所提供的安全性功能很有用。首先,SMTP 代理与 POP 代理相集成以实现某些传统 POP 客户端所要求的“在 SMTP 之前先执行 POP”的验证功能。有关更多信息,请参见启用 POP Before SMTP。此外,通过使用 SMTP 代理可以最大限度地利用在 SSL 加速硬件上的投入。请参见如何使用 SMTP 代理服务器优化 SSL 性能

设置 Messaging Multiplexor

在 Messaging Server 的初始运行时配置过程中,您确定了是否要在计算机上配置 MMP。您可以将它与 Messaging Server 设置在同一个计算机上,也可以设置在单独的计算机上。


注 –

MMP 不缓存 DNS 结果。Messaging Server 的生产部署要求在本地网络上具有高质量的高速缓存 DNS 服务器。


以下各节介绍了如何设置 MMP:

有关 MMP 的更多信息,请参见以下文档:

配置 MMP 之前

配置 MMP 之前:

  1. 选择要在其上配置 MMP 的计算机。最好使用一台专用于 MMP 的计算机。


    注 –

    建议不要在同时运行 POP 或 IMAP 服务器的计算机上启用 MMP。

    如果将 MMP 和 Messaging Server 安装在同一台计算机上,则必须确保将 POP 和 IMAP 服务器设置到非标准端口。这样,MMP 和 Messaging Server 端口才不会彼此冲突。


  2. 在要配置 MMP 的计算机上,创建一个要由 MMP 使用的 UNIX 系统用户。此新用户必须属于一个 UNIX 系统组。请参见创建 UNIX 系统用户和组

  3. 设置要与 Messaging Server 一起使用的 Directory Server 及其主机(如果尚未设置)。请参见为 Messaging Server 配置准备 Directory Server

  4. 如果在升级后端服务器之前升级 MMP,则用户应设置 ImapProxyAService.cfg 中的 Capability 选项,以匹配对尚未升级的后端服务器的 capability 命令的响应。设置为:

    IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS CHILDREN LANGUAGE XSENDER X-NETSCAPE XSERVERINFO

    请注意,换行可使编辑清晰,但是配置值必须在一行中。

多路复用器的配置

要配置 MMP,必须使用 Messaging Server 配置程序,该程序为您提供了启用 Messaging Multiplexor 的选项。有关配置程序的详细信息,请参见创建初始 Messaging Server 运行时配置

Procedure配置 MMP

步骤
  1. 将 Sun Java System Messaging Server 置于您安装和配置 MMP 的计算机上。

  2. 通过创建 Messaging Server 初始运行时配置来配置 MMP。请参见创建初始 Messaging Server 运行时配置

    请注意以下例外情况:安装 Messaging Server 时,仅检查 Messaging Multiplexor 选项。

多路复用器文件

Messaging Multiplexor 文件存储在 msg_svr_base/config 配置文件目录中。您必须手动编辑表 7–1 中列出的 Messaging Multiplexor 配置文件中的配置参数。有关所有 MMP 配置参数的完整描述,请参见 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》中的“Multiplexor Configuration Parameters”

表 7–1 Messaging Multiplexor 配置文件

文件 

说明 

PopProxyAService.cfg

指定用于 POP 服务的配置变量的配置文件。 

PopProxyAService-def.cfg

POP 服务配置模板。仅当使用 start-msg mmp 启动初始 MMP 后,文件才存在

ImapProxyAService.cfg

指定用于 IMAP 服务的配置变量的配置文件。 

ImapProxyAService-def.cfg

IMAP 服务配置模板。仅当使用 start-msg mmp 启动初始 MMP 后,文件才存在

AService.cfg

指定要启动的服务以及一些由 POP 和 IMAP 服务共享的选项的配置文件。 

AService-def.cfg

指定要启动的服务以及一些由 POP 和 IMAP 服务共享的选项的配置模板。仅当使用 start-msg mmp 启动初始 MMP 后,文件才存在

SmtpProxyAService.cfg

指定用于 SMTP 代理服务的配置变量的可选配置文件。如果启用“在 SMTP 之前先执行 POP”,则需要该配置文件;它对于最大限度地支持 SSL 硬件很有用,即使没有启用“在 SMTP 之前先执行 POP”。有关“在 SMTP 之前先执行 POP”的更多信息,请参见启用 POP Before SMTP

SmtpProxyAService-def.cfg

指定用于 SMTP 代理服务的配置变量的配置模板。仅当使用 start-msg mmp 启动初始 MMP 后,文件才存在

举例来讲,LogDirLogLevel 参数在所有配置文件中都可以找到。在 ImapProxyAService.cfg 中,它们用于为与 IMAP 相关的事件指定日志记录参数;类似地,这些参数在 PopProxyAService.cfg 中用于为与 POP 相关的事件配置日志记录参数。在 SmtpProxyAService.cfg 中,它们用于为与 SMTP 代理相关的事件指定日志记录。

但是,在 AService.cfg 中,LogDirLogLevel 用于记录 MMP 范围内的故障,例如,无法启动 POP、IMAP 或 SMTP 服务。


注 –

当配置或升级 MMP 时,配置模板文件将被覆写。


启动多路复用器

要启动、停止或刷新 Messaging Multiplexor 的实例,请使用表 7–2 中的以下命令之一,这些命令位于 msg_svr_base/sbin 目录中:

表 7–2 MMP 命令

选项 

说明 

start-msg mmp

启动 MMP(即使一个 MMP 已在运行)。 

stop-msg mmp

停止最近启动的 MMP。 

refresh mmp

使一个已在运行的 MMP 刷新其配置而不会中断任何活动连接。 

修改现有 MMP

修改 MMP 的现有实例,请根据需要编辑 ImapProxyAService.cfg 和/或 PopProxyAService.cfg 配置文件。这些配置文件位于 msg_svr_base/config 子目录中。

配置 MMP 以使用 SSL

要配置 MMP 以使用 SSL,请执行以下操作:


注 –

假定 MMP 安装在没有邮件存储或 MTA 的计算机上。


Procedure使用 SSL 配置 MMP

步骤
  1. 如果安装了 Admin Server,请使用管理控制台安装 SSL 服务器证书。否则,请使用 NSS 工具进行安装。请参见网络安全服务工具

    请参见Managing Servers with iPlanet Console 5.0

  2. 如果安装了 Admin Server,则在命令行中建立以下符号链接,以简化操作:


    cd msg_svr_base/config
    ln -s /var/mps/serverroot/alias/admin-serv-instance-cert7.db cert7.db
    ln -s /var/mps/serverroot/alias/admin-serv-instance-key3.db key3.db
    

    同时,确保要运行 MMP 的系统 ID 拥有这些文件。Messaging Server 的当前版本支持新证书数据库格式 (cert8.db)。

  3. 由于 sslpassword.conf 文件是在初始 Messaging Server 运行时配置过程中设置的,因而无需另行设置。请参见创建初始 Messaging Server 运行时配置


    注 –

    步骤 1 到 8 的替代方法是从现有 Messaging Server 或 Directory Server 中复制以下文件:cert7.dbkey3.dbsecmod.dbsslpassword.conf。这些服务器必须具有服务器证书和适合于已经安装的同一个域的密钥。


  4. 编辑 ImapProxyAService.cfg 文件并取消相关 SSL 设置的注释。

  5. 如果需要 SSL 和 POP,请编辑 PopProxyAService.cfg 文件并取消相关 SSL 设置的注释。

    此外,您还必须编辑 AService.cfg 文件并在 ServiceList 设置中的 110 之后添加 |995

  6. 确保在 ImapProxyAService.cfgPopProxyAService.cfg 文件中设置了 BindDNBindPass 选项。

    您还应当将 DefaultDomain 选项设置为您的默认域(用于非限定用户名的域)。

    如果只需要服务器端的 SSL 支持,则到此就可以完成了。使用 msg_svr_base/sbin 目录中的以下命令启动 MMP:

    start-msg mmp

Procedure配置 MMP 以实现基于客户端证书的登录

如果希望基于客户端证书进行登录,请执行以下操作:

步骤
  1. 获取一个客户端证书副本和签署它的 CA 证书。

  2. 与以前一样启动 Sun ONE Console(在与 MMP 所在计算机相同的计算机上启动),但是这次导入 CA 证书作为信任的证书授权机构。

  3. 使用在安装 Messaging Server 过程中创建的存储管理员。

    有关更多信息,请参见指定管理员对存储的访问权限

  4. 为 MMP 创建一个 certmap.conf 文件。例如:


    certmap default default
    default:DNComps
    default:FilterComps e=mail
    

    这表示要通过查看 LDAP 服务器中的邮件属性搜索与证书 DN 中 e 字段相匹配的内容。

  5. 编辑 ImapProxyAService.cfg 文件并执行以下操作:

    1. CertMapFile 设置为 certmap.conf

    2. StoreAdminStorePass 设置为步骤 3 中的值。

    3. UserGroupDN 设置为您的用户和组树的根。

  6. 如果需要使用 POP3 的客户端证书,请对 PopProxyAService.cfg 文件重复步骤 5

  7. 如果 MMP 尚未运行,请使用 msg_svr_base/sbin 目录中的以下命令来启动 MMP:

    start-msg mmp

  8. 将客户端证书导入到您的客户端中。在 NetscapeTM Communicator 中,单击挂锁(安全性)图标,选择“证书”下的“您的”,然后选择“导入证书...” 并按照说明操作。


    注 –

    如果您要在所有地方都使用客户端证书,则您的所有用户都必须执行此步骤。


样例拓扑

虚构的 Siroe Corporation 在两台计算机上各有一个 Messaging Multiplexor,均支持若干个 Messaging Server。POP 和 IMAP 用户邮箱分散在多台 Messaging Server 计算机上,其中每台服务器都专用于 POP 或专用于 IMAP(您可以通过从 ServiceList 设置中删除 ImapProxyAService 条目以限制客户端为仅访问 POP 服务;类似地,您也可以通过从 ServiceList 设置中删除 PopProxyAService 条目以限制客户端为仅访问 IMAP 服务)。此外,每个 Messaging Multiplexor 仅支持 POP 或仅支持 IMAP。LDAP 目录服务位于单独的专用计算机上。

下面的图 7–2 显示了此拓扑。

图 7–2 多个 MMP 支持多个 Messaging Server

图形中显示了多个 MMP 支持多个 Messaging Server。

IMAP 配置示例

图 7–2 中的 IMAP Messaging Multiplexor 安装在 sandpit 上,这是一台装有两个处理器的计算机。此 Messaging Multiplexor 将侦听用于 IMAP 连接的标准端口 (143)。Messaging Multiplexor 与主机 phonebook 上的 LDAP 服务器通信以获取用户邮箱信息,然后将连接路由到适当的 IMAP 服务器。它覆盖了 IMAP 功能字符串,提供了一个虚拟域文件,并且支持 SSL 通信。

以下是它的 ImapProxyAService.cfg 配置文件:


default:LdapUrl ldap://phonebook.siroe.com/o=internet
default:LogDir /opt/SUNWmsgsr/config/log
default:LogLevel 5
default:BindDN "cn=Directory Manager"
default:BindPass secret
default:BacksidePort 143
default:Timeout 1800
default:Capability "IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE 
UIDPLUS CHILDREN BINARY LANGUAGE XSENDER X-NETSCAPE XSERVERINFO"
default:SearchFormat (uid=%s)
default:SSLEnable yes
default:SSLPorts 993
default:SSLSecmodFile /opt/SUNWmsgsr/config/secmod.db
default:SSLCertFile /opt/SUNWmsgsr/config/cert7.db
default:SSLKeyFile /opt/SUNWmsgsr/config/key3.db
default:SSLKeyPasswdFile ""
default:SSLCipherSpecs all
default:SSLCertNicknames Siroe.com Server-Cert
default:SSLCacheDir /opt/SUNWmsgsr/config
default:SSLBacksidePort 993
default:VirtualDomainFile /opt/SUNWmsgsr/config/vdmap.cfg
default:VirtualDomainDelim @
default:ServerDownAlert "your IMAP server appears to be temporarily
out of service"
default:MailHostAttrs mailHost
default:PreAuth no
default:CRAMs no
default:AuthCacheSize 10000
default:AuthCacheTTL 900
default:AuthService no
default:AuthServiceTTL 0
default:BGMax 10000
default:BGPenalty 2
default:BGMaxBadness 60
default:BGDecay 900
default:BGLinear no
default:BGExcluded /opt/SUNWmsgsr/config/bgexcl.cfg
default:ConnLimits 0.0.0.0|0.0.0.0:20
default:LdapCacheSize 10000
default:LdapCacheTTL 900
default:HostedDomains yes
default:DefaultDomain Siroe.com

POP 配置示例

样例拓扑中的 POP Messaging Multiplexor 示例安装在 tarpit 上,这是一台装有四个处理器的计算机。此 Messaging Multiplexor 将侦听用于 POP 连接的标准端口 (110)。Messaging Multiplexor 与主机 phonebook 上的 LDAP 服务器通信以获取用户邮箱信息,然后将连接路由到适当的 POP 服务器。它还提供了一个欺骗邮件文件。

以下是它的 PopProxyAService.cfg 配置文件:


default:LdapUrl ldap://phonebook.siroe.com/o=internet
default:LogDir /opt/SUNWmsgsr/config/log
default:LogLevel 5
default:BindDN "cn=Directory Manager"
default:BindPass password
default:BacksidePort 110
default:Timeout 1800
default:SearchFormat (uid=%s)
default:SSLEnable no
default:VirtualDomainFile /opt/SUNWmsgsr/config/vdmap.cfg
default:VirtualDomainDelim @
default:MailHostAttrs mailHost
default:PreAuth no
default:CRAMs no
default:AuthCacheSize 10000
default:AuthCacheTTL 900
default:AuthService no
default:AuthServiceTTL 0
default:BGMax 10000
default:BGPenalty 2
default:BGMaxBadness 60
default:BGDecay 900
default:BGLinear no
default:BGExcluded /opt/SUNWmsgsr/config/bgexcl.cfg
default:ConnLimits 0.0.0.0|0.0.0.0:20
default:LdapCacheSize 10000
default:LdapCacheTTL 900
default:HostedDomains yes
default:DefaultDomain Siroe.com

MMP 任务

本节说明其他的 MMP 配置任务。这些元字符包含:

用 MMP 配置邮件访问

因为 MMP 无法自动配置,所以必须进行明确配置。此外,MMP 不使用 PORT_ACCESS 映射表。如果希望拒绝来自某些 IP 地址的 SMTP 连接并且您正在使用 MMP,则必须使用 TCPAccess 选项。此选项的语法与 mailDomainAllowedServiceAccess 相同(请参见 《Sun Java System Communications Services 6 2005Q4 Schema Reference》)。过滤器语法也对该语法作了介绍。

设置故障转移 MMP LDAP 服务器

可以为 MMP 指定多个 LDAP 服务器,以便当一个服务器出现故障时可以使用另一个。请按以下所示修改您的 PopProxyAservice.cfgIMAPProxyAservice.cfg

default:LdapUrl "ldap://ldap01.yourdomainldap02.yourdomain/o=INTERNET"

关于 Messaging Multiplexor

Sun Java System Messenger Express Multiplexor 是一个专用服务器,用作与 HTTP 访问服务的单点连接。Messenger Express 是 Sun Java System Messaging Server HTTP 服务的客户端接口。所有用户都连接到一个单一的邮件代理服务器,该服务器会将用户定向到适当的邮箱。结果,整个 Messaging Server 阵列将作为一个单一的主机呈现给您的邮件用户。

Messaging Multiplexor (MMP) 连接至 POP 和 IMAP 服务器,而 Messenger Express Multiplexor 则连接至 HTTP 服务器。也就是说,Messenger Express Multiplexor 用于 Messenger Express,而 MMP 则用于 POP 和 IMAP。

与 MMP 类似,Messenger Express Multiplexor 也支持:

与 MMP 不同的是,Messenger Express Multiplexor 内置于 mshttpd 服务中,因此使用了相同的日志记录和配置机制。

Messenger Express Multiplexor 的工作原理

Messenger Express Multiplexor 由作为多路复用器的代理邮件服务器构成,它允许您连接到 Messaging Server (Messenger Express) 的 HTTP 服务。Messenger Express Multiplexor 可以协助在多台服务器计算机上分布邮箱。客户端在登录到 Messenger Express 时将连接到多路复用器,Messenger Express 将为用户确定正确的服务器,然后连接到该服务器并在客户端和服务器之间传递数据。此功能使大型安装可以将邮件存储分散在多台计算机上(以增加容量),同时向用户和外部客户端呈现了一个单一的邮件主机(用户可以提高效率,外部客户端可以提高安全性)。Messenger Express Multiplexor 的工作原理说明了 Messenger Express Multiplexor 在 Messaging Server 安装中所在的位置。

图 7–3 Messenger Express Multiplexor 概述

图形中使用 Messenger Express Multiplex 的数据流显示了概述。

Messenger Express Multiplexor 在 Messenger Express 客户端和 Messaging Server 之间提供了一个接口,即,接受连接并将它们适当地路由。与其他邮件服务器安装中的典型情况一样,每个用户都被指定一个位于特定 Messaging Server 上的特定地址和邮箱。但是,所有 HTTP 连接都是通过 Messenger Express Multiplexor 路由的。

下面详细介绍了建立用户连接过程中所涉及的步骤:

  1. 用户的客户端连接至 Messenger Express Multiplexor,后者将接受初步验证信息。

  2. Messenger Express Multiplexor 将查询 Directory Server 以确定包含用户的邮箱的 Messaging Server。

  3. Messenger Express Multiplexor 连接到相关联的 Messaging Server,重新进行验证,然后在会话过程中充当通信管道。

设置 Messenger Express Multiplexor

本节将介绍设置和配置 Messenger Express Multiplexor 所应遵循的步骤。其中包含以下主题:

在代理计算机上安装 Messaging Server

第一步是在代理计算机上安装 Messaging Server,该代理计算机将成为 Messenger Express Multiplexor。有关具体的安装说明,请参见 《Sun Java Enterprise System 2005Q4 Installation Guide for UNIX》

确保将 Messaging Server 配置给指向后端 Messaging Server 的用户和组的目录服务器。此目录服务器将用于通过 Messenger Express Multiplexor 为 Messaging Server 验证用户。

配置 Messenger Express Multiplexor 参数

在代理计算机上完成 Messaging Server 的安装后,请配置 Messenger Express Multiplexor 参数:

Procedure配置 Messenger Express Multiplexor 参数

步骤
  1. 收集所需的后端 Messaging Server 信息。

    运行后端 Messaging Server 的目录中的 configutil 命令以确定参数的值,本节稍后将介绍这些参数。代理计算机(将在其上启用多路复用器)的配置必须与后端 Messaging Server 相匹配以确保设置成功。

  2. 为 Messenger Express Multiplexor 设置配置参数。

    运行代理计算机邮件服务器的 msg_svr_base/sbin/configutil 目录中的 configutil 命令以设置配置值。请注意,这些值应当与后端 Messaging Server 的值相匹配。

    以下各节介绍了设置 Messenger Express Multiplexor 所需的 configutil 参数:

LDAP 参数

您需要确保在启用 Messenger Express Multiplexor 之前正确指定 Directory Server 的参数。要确定您的 LDAP 参数,请运行相应后端 Messaging Server 实例目录中的以下命令:

dcroot

您需要确保正确指定 dcroot。要确定您的 dcroot,请运行相应 Messaging Server 实例目录中的以下命令:

configutil -o service.dcroot

默认域

您需要确保正确指定 Messaging Server 的默认域 (defaultdomain)。要确定您的 Messaging Server 默认域,请运行相应 Messaging Server 实例目录中的以下 configutil 命令:

configutil -o service.defaultdomain

登录分隔符

确保登录分隔符 (loginseparator) 与后端 Messaging Server 使用的登录分隔符一致。要确定您的 Messaging Server 登录分隔符,请运行相应后端 Messaging Server 实例目录中的 configutil 命令:

configutil -o service.loginseparator

启用 Messenger Express Multiplexor

设置配置参数后,您便可以在代理计算机上启用 Messenger Express Multiplexor。要执行此操作,请运行代理计算机上的 Messaging Server 实例的目录 msg_svr_base/sbin/configutil 中的以下 configutil 命令:

configutil -o local.service.http.proxy -v 1

其中,1 将启用 Messenger Express Multiplexor(默认值为 0)。

当非本地用户(其邮件主机不在其登录的服务器上的用户)登录且 local.service.http.proxy 的值为 0 时,该用户将被定向到其主机,并看到主机名的更改;因此,该多路复用器没有被启用。

如果将 local.service.http.proxy 的值设置为 1,将启用多路复用器,并且主机名不会更改,同时 Messaging Server 的整个阵列将作为一个单一的主机呈现给您的非本地邮件用户。

对于本地用户(其邮件主机是其登录的服务器的用户),服务器将使用本地邮件存储,而不管 local.service.http.proxy 参数值如何。代理用户和本地用户可以在同一个邮件服务器上共存。

测试您的设置

在本节中,您将了解如何测试您的 Messenger Express Multiplexor 设置以及如何在日志文件中查找消息。假定您已经配置和启用了 Messenger Express Multiplexor。

Procedure访问 Messenger Express 客户端

在测试您的安装之前,您应当已经熟悉 Messenger Express 产品。此外,您还应当具有一个以前创建的测试帐户。

要测试您的 Messenger Express Multiplexor 代理,请执行以下步骤:

步骤
  1. 通过 Messenger Express Multiplexor,在浏览器位置中键入以下浏览器位置以连接到 Messenger Express:

    http://msgserver_name

    例如:

    http://budgie.sesta.com

  2. 使用以前创建的测试帐户,登录到 Messenger Express。

  3. 您应当能够成功登录并从后端 Messaging Server 访问邮件。

  4. 如果在您通过 Messenger Express 登录后 Messaging Server 名称发生了变化,请确保将 local.service.http.proxy 设置为 1 并重新启动邮件代理服务器。Messenger Express Multiplexor 应当为您的用户呈现一个单一的邮件主机。

错误消息

如果在输入用户 ID、密码以及单击“连接”时收到错误消息,应当查看代理计算机的 HTTP 日志文件。要查看错误消息,请转到 msg_svr_base/log 目录。在大多数情况下,错误消息将包含用于诊断问题的足够信息。在这些实例中,如果没有足够的信息来诊断问题,请与用户支持联系。

管理 Messenger Express Multiplexor

节介绍 Messenger Express Multiplexor 的基本管理功能。

配置和管理 SSL

要为 Messenger Express Multiplexor 配置和管理 SSL(也称为安全套接字层),请参见启用 SSL 并选择加密算法的步骤

设置多个代理服务器

要设置由一个名称表示的多个 Messenger Express Multiplexor,可以使用一个能 够识别会话的负载平衡设备。使用此设备,可以将所有请求从任何给定的客户端路由到一个唯一的服务器。

管理 Messaging Server 和 Messenger Express Multiplexor 的不同版本

如果为 Messenger Express Multiplexor 和后端邮件主机使用不同版本的 Messaging Server,则需要更新 Messenger Express 静态文件以确保服务器之间的兼容性。

构成 Messenger Express 接口的静态文件是直接从 Messenger Express Multiplexor 提供的,而不是从用户的邮件主机提供的。多路复用器将在 msg_svr_base/config/html 目录中查找这些文件。

要更新这些文件以确保服务器之间的兼容性,请用较早版本的 Messaging Server 中的 msg_svr_base/config/html 目录的整个内容替换较新版本的 Messaging Server 中的相同目录的整个内容(其中包含构成 Messenger Express 接口的这些静态文件)。

例如,如果后端 Messaging Server 使用 Messaging Server 6 2003Q4 而您安装了 Messaging Server 6 2005Q4 作为 Messenger Express Multiplexor,则需要将 Messenger Express Multiplexor 的 msg_svr_base/config/html 目录的整个内容替换为 Messaging Server 6 2003Q4 后端服务器中相同目录的内容。当最终将 Messaging Server 6 2003Q4 升级到 Messaging Server 6 2005Q4 时,您也可以为 Messenger Express Multiplexor 服务器更新 msg_svr_base/config/html 目录中的这些静态文件。

使用 Messenger Express Multiplexor 配置后端 Messaging Server 的端口

如果要使用 Messenger Express Multiplexor 配置后端 HTTP Messaging Server 的端口,请在多路复用器计算机上使用以下 configutil 命令:

local.service.http.proxy.port.hostname

其中,hostname 是后端 HTTP Messaging Server 的主机。

例如,如果后端 Messaging Server 的主机名为 sesta.com,端口号为 8888,则该命令的格式如下:

configutil -o local.service.http.proxy.port.store.sesta.com -v 8888

local.service.HTTP.proxy.port 适用于所有后端邮件存储,自身拥有端口(与 local.service.proxy.admin 相同)的后端邮件存储除外。

配置单点登录

单点登录必须在 Messenger Express Multiplexor 计算机上按照与邮件 (HTTP) 服务器相同的方式进行配置,并且具有以下附加配置:

configutil -o local.service.http.proxy.admin -v store_administrator

其中,store_administrator 是在后端 Messaging Server 安装过程中指定的后端存储管理员。

configutil -o local.service.http.proxy.adminpass -v store_admin_password

其中,store_admin_password 是在后端 Messaging Server 安装过程中指定的后端存储管理员密码。

如果要使用多个后端 Messaging Server(这些服务器使用不同的存储管理员和密码),则可以通过向 Messenger Express Multiplexor 中的每个配置变量附加全限定的主机名来分别配置它们:

configutil -o local.service.http.proxy.admin.hostname -v store_administrator

configutil -o local.service.http.proxy.adminpass.hostname -v store_admin_password

其中,hostname 是后端 HTTP Messaging Server 的主机,store_administratorstore_admin_password 是在后端 Messaging Server 安装过程中指定的后端存储管理员和密码。

要将用户登录到后端服务器上,Messenger Express Multiplexor 将使用 proxyauth 登录命令。要启用 proxyauth,请使用后端邮件存储中的 configutil 参数:

configutil -o service.http.allowadminproxy -v 1


注 –

如果通过 Messenger Express Multiplexor 启用了单点登录,则不需要在后端 HTTP Messaging Server 上配置它。