Forum Discussion

mpenglish_63863's avatar
mpenglish_63863
Icon for Nimbostratus rankNimbostratus
Oct 10, 2012

Exchange 2010 Publishing calendars

We have our Exchange 2010 CAS array going through the our bigip 3900 version 10.2.2. We setup exchange 2010 on the F5s using the F5 documentation.

 

In exchange 2010 you can publish your calendar and you can then send links to people so they can view your calendar such as the below:

 

Link for viewing calendar in a Web browser:

 

 

http://owa.example.com/owa/calendar/4879548368ac412fb904409a84d18632@example.com/ddb72df501464f1b854676f74d2b48298085283073054977391/calendar.html

 

The problem i have is that when a user clicks on the link the current irules send the user to the OWA login screen. If however you change the link to be https then you get taken to the published calendar. Having not used irules much just wondering if anybody has come accross this problem before and knows an easy solution to it.

 

If you need more information then please let me know.

 

Thanks in advance.

 

Mark

 

 

 

5 Replies

  • Hi Steve,

     

     

    There are two iRules which are are just from the F5 Exchange documentation, i am interested in knowing how to extend either of them to resolve the issue

     

     

    First iRule:

     

     

    when HTTP_REQUEST {

     

    if {([HTTP::uri] == "/") } {

     

    HTTP::uri /owa

     

    }

     

    }

     

     

     

    Second iRule:

     

    iRule to select pool and persistence method when all Exchange

     

    Client Access services are accessed through the same BIG-IP

     

    virtual server.

     

    when HTTP_REQUEST {

     

    switch -glob [HTTP::path] {

     

     

    "/Microsoft-Server-ActiveSync*" {

     

    Direct all ActiveSync clients to a common pool; use

     

    HTTP cookie persistence

     

    persist cookie

     

    pool CIS_Web_Exchange_2010__single_as_pool

     

    HTTP::class disable

     

    }

     

     

    "/rpc/rpcproxy.dll" {

     

    Grab all requests for Outlook Anywhere; the following

     

    checks assign correct persistence methods.

     

    switch -glob [HTTP::header "User-Agent"] {

     

    "MSRPC" {

     

    This User-Agent section matches most versions of

     

    Outlook and Windows using Outlook Anywhere.

     

    The OutlookSession cookie is new to Outlook 2010.

     

    if { [HTTP::cookie exists "OutlookSession"] } {

     

    persist uie [HTTP::header "OutlookSession"] 3600

     

    }

     

    else {

     

    persist uie [HTTP::header "Authorization"] 3600

     

    }

     

    }

     

     

    "*Microsoft Office*" {

     

    This section matches some versions of

     

    Outlook 2007 on Windows XP

     

    persist uie [HTTP::header "Authorization"] 3600

     

    }

     

     

    default {

     

    This section catches all other requests for

     

    Outlook Anywhere, and sets a persistence method

     

    that does not require the client to support

     

    HTTP cookies

     

    persist source_addr

     

    }

     

    }

     

     

    Finally, this assigns the Outlook Anywhere pool and turns

     

    off full HTTP parsing and compression. If the preceding

     

    clients should be sent to separate pools, the pool statement

     

    should be removed here, and a separate pool statement

     

    placed in each of the preceding logic branches.

     

    Other modules (APM, ASM, etc.) should be disabled here

     

    as well, if active for other traffic though this virtual

     

    server.

     

    pool CIS_Web_Exchange_2010__single_oa_pool

     

    HTTP::disable

     

    COMPRESS::disable

     

    HTTP::class disable

     

    }

     

     

    "/xml/autodiscover.aspx" {

     

    Requests for Autodiscovery information. The selected pool

     

    might be unique, or might be the same as e.g. your pool

     

    for OWA or ActiveSync. In this example, we use the same

     

    pool that receives ActiveSync traffic.

     

    persist cookie

     

    pool CIS_Web_Exchange_2010__single_ad_pool

     

    HTTP::class disable

     

    }

     

    default {

     

    This final section takes all traffic that has not

     

    otherwise been accounted for and sends it to the

     

    pool for Outlook Web App

     

    persist cookie

     

    pool CIS_Web_Exchange_2010__single_owa_pool

     

     

    If using the Web Accelerator module, uncomment the

     

    following line and change the name to that of

     

    your WA class.

     

    HTTP::class select CIS_Web_Exchange_2010__single_wa_http_class

     

    }

     

    }

     

    }

     

     

    Thanks

     

     

    Mark
  • Thanks Mark. Are you using the same iRule for the port 80 and port 443 Virtual Servers? I assume you are terminating SSL for the HTTPS too.
  • Hi,

     

     

    Sorry for the late reply, everything that has been setup is just using the template for exchange 2010 and folloowing the F5 documentation. I believe that if something comes in on port 80 it is redirected to port 443. I'm not terminating the ssl on the F5.

     

     

    Thanks

     

     

    Mark
  • OK, it's my understanding you'd have to/should be terminating SSL on the F5, you wouldn't be able to persist or apply the iRule otherwise???