<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">I have NGINX set up as a reverse proxy, which works fine. In the event my web server goes down, I would like NGINX to act as the failover, and serve a local page with just some basic company information and a “check back soon” type message.
Trying to do this, I think I’m getting stuck in an infinite loop and always end up with a 502 Gateway error. For testing, I was just trying to get it working with generic load balancing, going back and forth between my web server and the local NGINX “Check
Back Soon” page. My config looks something like this:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> upstream Server_Test {<o:p></o:p></p>
<p class="MsoNormal"> server 123.456.789.001;<o:p></o:p></p>
<p class="MsoNormal"> server 127.0.0.1;<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> server {<o:p></o:p></p>
<p class="MsoNormal"> listen 123.456.789.002;<o:p></o:p></p>
<p class="MsoNormal"> server_name www.test.com;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> location / {<o:p></o:p></p>
<p class="MsoNormal"> proxy_pass http://Server_Test;<o:p></o:p></p>
<p class="MsoNormal"> proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;<o:p></o:p></p>
<p class="MsoNormal"> proxy_redirect off;<o:p></o:p></p>
<p class="MsoNormal"> proxy_buffering off;<o:p></o:p></p>
<p class="MsoNormal"> proxy_set_header Host $host;<o:p></o:p></p>
<p class="MsoNormal"> proxy_set_header X-Real-IP $remote_addr;<o:p></o:p></p>
<p class="MsoNormal"> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> server {<o:p></o:p></p>
<p class="MsoNormal"> listen 127.0.0.1;<o:p></o:p></p>
<p class="MsoNormal"> server_name www.test.com;<o:p></o:p></p>
<p class="MsoNormal"> location / {<o:p></o:p></p>
<p class="MsoNormal"> root html;<o:p></o:p></p>
<p class="MsoNormal"> index index.html index.htm;<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"> }<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any reason why this shouldn’t work?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks!<o:p></o:p></p>
<p class="MsoNormal">Jason<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>