HTTPTests - NGINX Integration Testing for CI/CD

I built HTTPTests to solve a problem my team kept hitting: nginx -t passes, but we’d still break production with config changes.

It’s a GitHub Action that validates nginx routing, header forwarding, and upstream targets automatically. Tests run in isolated Docker environments on every commit.

Sharing here because this community knows nginx better than anyone. Honest feedback welcome - including “this is unnecessary because X already exists.”

Cheers!

16 Likes

:star_struck: Honestly, I love it! Thanks for sharing :star_struck:

Did you run into any interesting challenges building this, or did anything surprise you in the process?

2 Likes

Great question!

Honestly, we were amazed by how many production incidents this caught before they happened. It’s wild how a tiny config tweak can create completely unexpected behavior in practice.

One tricky challenge was validating reverse-proxy routing—we needed a way to confirm which upstream was actually receiving the request. Our solution was to automatically inject an extra header that the upstream could echo back, letting us verify the routing path definitively.

Another hurdle was supporting projects that generate nginx configs from templates. Those setups often require custom Dockerfile steps or shell scripts to render the final config before testing, which added some complexity to the workflow.

2 Likes

Thank you for sharing this! :clap::clap::clap:

2 Likes

@heo @buulam Do you think NGINX Professional Services’ Team would be interested by this? I would be happy to present it to them!

2 Likes

No harm in asking! I will follow up.

2 Likes

Appreciate it!

2 Likes

HI @ServiceGuards , someone from our NGINX Professional Services team will be following up with you soon to discuss further.

Thank you for sharing your tools and expertise with the Community!

1 Like

Thank you very much!!

Happy thanksgiving btw.

2 Likes

Same to you! I’m in Canada but I ate a bunch of food just in case :laughing:

3 Likes