<div dir="ltr">Hi fellows,<div><br></div><div style>I was having trouble creating a custom error_page. Here's the simple test config i did:</div><div style><br></div><div style><div><span class="" style="white-space:pre"> </span>server_name <a href="http://www.test1.com.ar">www.test1.com.ar</a>;</div>
<div><br></div><div><span class="" style="white-space:pre">   </span>error_log logs/www.test1.com.ar.http.error.log debug;</div><div><span class="" style="white-space:pre">      </span>access_log logs/www.test1.com.ar.http.access.log main;</div>
<div><br></div><div><span class="" style="white-space:pre">   </span>root /usr/local/www/www.test1;</div><div><br></div><div>    location / {</div><div><span class="" style="white-space:pre">     </span># Esto es para simular el geoip con un if. </div>
<div><span class="" style="white-space:pre">    </span>if ( $remote_addr = "10.24.18.2" ) {</div><div><span class="" style="white-space:pre">             </span>error_page 401 /custom/404b.html;</div><div><span class="" style="white-space:pre">          </span>return 401;</div>
<div><span class="" style="white-space:pre">    </span>}</div><div>    }</div><div><br></div><div><br></div><div style>With that, i only got the nginx default error page. After turning on debug i saw that when nginx goes to fetch the error_page mentioned it searches in location / so it denies and send me the default error. Now i added a location like this</div>
<div style><br></div><div style><div>    location = /custom/404b.html {</div><div><span class="" style="white-space:pre">   </span>internal;</div><div>    }</div><div><br></div><div><br></div><div style>Which made it work.</div>
<div style><br></div><div style>My question is is this is OK. If my solution is the correct one or perhaps theres a better one. Also, this test is easy cause its local, but i want to implemtn this in a proxy_pass situation. Probably the intercept_error..</div>
<div style><br></div><div style>Thanks for any hints you can give.</div></div></div></div>