To query your MySql database, I propose you use a REST interface to decouple it from your Front End.
The REST interface should be a HTTP Web Service either self hosted or hosted by another Web Server locally on the NGINX Server. (This allows NGINX to handle authentication and HTTPS encryption centrally.) As a result, use your REST Web Servive to also determine if tthe MySql DB s up or down when servicing the request and return a 200 message to NGINX indicating if there is an error in a JSON payload. I propose avoiding use of HTTP error codes yourself. Let NGINX or the Web Server or the Client to deal with underlying network issues use status codes beyond 2000. This also will guarantee your message will not be stripped and you can provide whatever level of detail needed for your client code or Front End to understand and handle. Let NGINX proxy all traffic between the REST Web Service and your Client. Adjust cookie details as needed for the domain security sabdboxing. On Fri, Jan 6, 2023, 9:58 PM Kaushal Shriyan <kaushalshri...@gmail.com> wrote: > > > On Sat, Jan 7, 2023 at 2:56 AM Francis Daly <fran...@daoine.org> wrote: > >> On Thu, Jan 05, 2023 at 10:15:34PM +0530, Kaushal Shriyan wrote: >> >> Hi there, >> >> > When I hit http://mydomain.com/apis for conditions when MySQL DB is >> down. I >> > get the below output and it works as expected. >> > >> > {"errors": "MySQL DB Server is down"} >> > >> > When I hit http://mydomain.com/apis for conditions when MySQL DB is up >> and >> > running fine, I get the below output in spite of MySQL DB server being >> > fine. >> > >> > {"errors": "MySQL DB Server is down"} >> >> Your config is >> >> location /apis { >> return 500 '{"errors": "MySQL DB Server is down"}'; >> } >> >> Whenever you make a request that is handled in that location{}, your >> nginx will return that response. >> >> It looks like your nginx is doing what it was told to do. >> >> No part of your config indicates that nginx knows (or cares) whether >> MySQL DB is up or down. Does something outside of nginx know that? >> >> f >> -- >> Francis Daly fran...@daoine.org >> _______________________________________________ >> nginx mailing list >> nginx@nginx.org >> https://mailman.nginx.org/mailman/listinfo/nginx > > > > Thanks Francis for the detailed explanation. Is there a way to configure > Nginx for the below conditions? > > When I hit http://mydomain.com/apis for conditions when MySQL DB is down. > I get the below output and it works as expected. > > {"errors": "MySQL DB Server is down"} > > When I hit http://mydomain.com/apis for conditions when MySQL DB is up > and running fine, I get the below output in spite of MySQL DB server being > fine. > > {"errors": "MySQL DB Server is down"} > > Please suggest. Thanks in advance. I appreciate your help as always. > > Best Regards, > > Kaushal > _______________________________________________ > nginx mailing list > nginx@nginx.org > https://mailman.nginx.org/mailman/listinfo/nginx >
_______________________________________________ nginx mailing list nginx@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx