When you build a Microsoft Office SharePoint (MOSS) server farm and configure it for load balancing, you may be unable to open Office documents for edit access (collaboration) if you are using a Cisco Content Server Switch (CSS) with Layer 5 content rules applied. From the client, you may experience one of the following symptoms (depending on your version of the CSS software):
- The client application opening the document appears to hang, taking somewhere between six to ten minutes to open the file. When the file opens up it is read-only.
- The client application starts and loads the file right away, but the file opens read-only and the Workspaces Task Pane is unavailable.
As part of the process of opening documents for edit using URLs, Microsoft Office (2000-2007) client applications will request the server type and authoring protocol from the web server using the HTTP 1.1 OPTIONS verb as defined by RFC-2616 by the IETF. The purpose of the call is to determine the capabilities of the web server hosting the document, and to detemine the web authoring protocol the server supplies (if any) which the client can use to edit the file. This behavior is described in KB838028 under the section “Microsoft Office Protocol Discovery.”
Under its default configuration, the Cisco CSS software will not permit traffic using the OPTIONS verb to be handled by the web server(s), and will reject the call. Depending on your version of the CSS software, the error returned may be different and give you different behavior, but the end result is that you will be unable to open the files for editing from the client.
To resolve the issue you can do one of the following:
- If you are running Cisco CSS version 7.50 or higher, you can enable an option to allow passthrough of WebDAV commands, which includes the OPTIONS verb. The command to enable the passthrough is:
# http-method parse RFC2518-methods
- If you are running an older Cisco CSS version, you may be to resolve the issue by recofiguring the switch to avoid Layer 5 content rules. If the balancer is configured to apply a higher rule level Layer 5 (HTTP filtering), the code that disallows the call will not be encountered and the packet will be allowed to pass to the web server as expected. See your Cisco guide for help.
By design, the Cisco CSS software for Layer 5 content rules allows only the CONNECT, GET, HEAD, POST, and PUT verbs for HTTP 1.0/1.1. Earlier versions of the switch software would simply reject these calls with a TCP FIN response, which could be treated by the client as a dropped connection. The client could then get in a state of repeating the call to reestabilish the connection, which when repeated could result in a loop that lasts until the socket layer times out the call. This could cause “hang like” appearance since the client is waiting on a server HTTP response that does not come. Cisco altered the switch design to return a TCP RST instead, which prevents this “hang-like” loop by the client, but still blocks the call. Since Office is unable to communicate to the web server, web authoring is not available and the document will open read only (as returned by a standard HTTP GET request instead).
Starting around version 7.50 of the CSS software, Cisco added the ability for you to configure the list of verbs allowed by the CSS switch. Included in this update is a setting to allow all HTTP verbs defined for the WebDAV protocol as documented in RFC-2518. While the OPTIONS verb is not specific to this protocol (and in fact, Office will use WEC and not WebDAV for authoring to SharePoint), the OPTIONS verb is central to the operation of the DAV protocol, and therefore must be enabled to use DAV. So enabling the “RFC2518-methods” setting on the CSS will enable the OPTIONS verb, and will allow the client call to reach the web server as intended.
For information about the “RFC2518-methods” setting available in CSS 7.50 and higher, please see your CSS guide from Cisco. Here is an online copy of the relevant section in the 8.20 documentation from Cisco: Configuring HTTP Method Parsing.
This behavior is “by design” according to the default settings of the Cisco CSS Layer 5 Content Rules.