Cheap SharePoint -> Wordpress fail-over help request

Igor Sysoev igor at sysoev.ru
Tue Oct 11 09:50:27 UTC 2011


On Tue, Oct 11, 2011 at 10:39:43AM +0100, keith wrote:
> We have nginx setup as a reverse proxy and on one of the backend servers 
> we have a Sharepoint website that we want to failover to a Wordpress 
> website hosted on another server if there's a problem with Sharepoint 
> website. I've googled and red through books etc but can't we an example 
> for this. I think i need "try_files" and some type of error code 
> checking but havent been able to figure it out. Could someone advice ? 
> Below is the type of thing that I think I am after.
> 
> Thanks for looking.
> Keith
> 
> upstream primaryserver {  server 10.1.1.1:80; }
> upstream secondaryserver {  server 10.1.1.2:80; }
> 
> server
> {
>    listen       80;
>    server_name _;
>    server_name_in_redirect  off;
> 
>      location /
>    {
>      try_files @sharepoint @wordpress;
>    }
>    location @sharepoint
>    {
>      proxy_pass http://primaryserver;
>      proxy_set_header Host $host;
>      proxy_connect_timeout 3;
>      proxy_next_upstream error timeout;
>    }
> 
>    location @wordpress
>    {
>      proxy_pass http://secondaryserver;
>      proxy_set_header Host $host;
>      proxy_connect_timeout 3;
>      proxy_next_upstream error timeout;
>    }
> 
> }

"try_files" tries files, but not proxied requests.
There are two way to fallback to backup servers:

1)
    upstream sharepoint {
         server   primaryserver;
         server   secondaryserver  backup;
    }

    server {
        location / {
            proxy_pass http://sharepoint;
            proxy_set_header Host $host;
            proxy_connect_timeout 3;
        }
    }

2)
    server {
        location / {
            proxy_pass http://primaryserver;
            proxy_set_header Host $host;
            proxy_connect_timeout 3;
            proxy_intercept_errors  on;
            error_page  502 504  @wordpress;
        }

        location @wordpress {
            proxy_pass http://secondaryserver;
            proxy_set_header Host $host;
            proxy_connect_timeout 3;
        }
    }


-- 
Igor Sysoev



More information about the nginx mailing list