备用访问映射, 其英文说法叫做Alternate Access Mapping, 简称AAM. 这项配置的作用比较不太容易懂. 这篇文章就跟大家讨论一下AAM.
AAM的作用其实就相当于提供一个机会给SharePoint, 让SharePoint可以查找某种到达SharePoint的URL所应对应的URL, 之后用这个对应的URL返回给客户端.
一个请求发送到SharePoint之后, SharePoint会响应这个请求, 把结果页面返回给客户端. 值得注意的是, 结果页面上会有很多链接, 比如说breadcrumb中, 比如说左侧的导航栏中, 各种各样的webpart中等等. 如果要使得客户端能够正常地, 持续地完成请求, 这些页面上的链接要能跟客户最初访问的时候到达的URL一致. 否则的话, 客户访问到站点, 却只能得到一个其中满是他无法访问的链接的页面.
举个例子, 客户端使用https://outside 来访问SharePoint站点, 客户端和MOSS之间有一重ISA(防火墙), ISA会把指向outside的请求转换为http://inside, 在DNS中, inside指向MOSS的IP地址. SharePoint接受到的请求的目标是http://inside. 而客户端所期望SharePoint返回的页面上的所有链接都类似于https://outside. 这里就是AAM大显身手的地方. 解决方案是, 添加一个Zone, 让其Public URL为https://outside, 再添加一个Internal URL, 让其归属于新的zone, 然后配置Internal URL为http://inside.
如图:
具体过程如下:
- 客户端发出请求至https://outside
- 这个请求中间经过ISA的转换, 到sps的时候变成了http://inside.
- SharePoint得到请求之后, 检查接受到的请求长什么样, SharePoint一看哦, 是http://inside, 之后到自己的AAM表里一查, 哦, 这样的链接是Intranet Zone的一个Internal URL(http://inside), 返回结果页面上的站点链接需要变成该zone的Public URL(http://outside)返回给客户端的. 所以结果页面内容里的本站点链接就全部是http://outside的了.
- 客户端接到了结果的HTML代码, 直接在IE里显示, 页面上的链接都是http://outside之类的, 都跟它最初发送出去的链接长的很像, 从而可以继续下一次的请求.
这里客户端根本就不清楚发送出去请求后都发生了些什么, ISA, AAM对它都是透明的, 就知道发送出去一个请求, 得到了一个结果页面, 里面的链接都可以继续请求.
注意, 这里的url不仅仅包含主机标头或主机名, 还包括:
- 协议名: http, https.
- 端口号: 8080,10000等.
注意, 能完成主机标头, 主机名, 协议, 端口转换的除了ISA (Internet Security and Acceleration Server)以外, 某些Network Load Balancer也可以完成类似的动作.
参考资料:
Plan alternate access mappings (Office SharePoint Server)
http://technet.microsoft.com/en-us/library/cc261814%28office.12%29.aspx
Configure alternate access mapping
http://technet.microsoft.com/en-us/library/cc263208%28office.12%29.aspx