Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. What Jev Means for the Future of Evals(armank.com ↗)
    discuss
  2. Hands-On with Googlebooks(tomshardware.com ↗)
    discuss
  3. North Korea Stopped Nuclear Testing in 2017, Triggered 1k Earthquakes Since(sciencealert.com ↗)
    discuss
  4. The Sun Doesn't Shine on Me (2006)(fullhoffman.com ↗)
    discuss
  5. BBC removes 11 Mitchell and Webb comedy sketches from iPlayer(bbc.co.uk ↗)
    discuss
  6. You're a Meat Proxy(twitter.com/i ↗)
    discuss
  7. Antigravity Spaces – Switch Antigravity IDE Projects Easily(github.com/apolloswave ↗)
    discuss
  8. Iron willpower is an illusion – composure is the real engine of self-control(drdeborst.substack.com ↗)
    discuss
  9. Show HN: Jobs at Recently Funded Startups(vcbacked.co ↗)
    discuss
  10. Chess Design Timeline(chess-timeline.vercel.app ↗)
    1comments
  11. Database Normalization(wikipedia.org ↗)
    discuss
  12. We Asked a Urologist Whether Icing Your Testicles Boosts Testosterone(dartmouth.edu ↗)
    discuss
  13. Guess the Country from Demographic Data(demoguessr.com ↗)
    1comments
  14. Show HN: TickerWhale – nightly 0-100 scores and fair values for 1,300 stocks(tickerwhale.com ↗)
    discuss
  15. Googlebook – Meet the Lineup and pre-order(googlebook.google ↗)
    1comments
  16. Grok 4.7 Intelligence, Performance and Price Analysis(artificialanalysis.ai ↗)
    discuss
  17. Show HN: Agent Chaperone – Screen AI agent tool calls and results with Jev(github.com/agent-chaperone ↗)
    discuss
  18. Show HN: flyOS – A fruit fly connectome simulated in real time on an iPhone(becomethefly.com ↗)
    discuss
  19. Saudi Arabia's Ceer launches flagship electric vehicles(agbi.com ↗)
    discuss
  20. Modulate ML Team Announces New Public Entity Transcription Benchmark(modulate.ai ↗)
    discuss
  21. WTF Is Up with Napster's AI Pivot?(tedium.co ↗)
    discuss
  22. Alcor: Simulate cpuid and sgdt/sidt results per-process(github.com/er-azh ↗)
    discuss
  23. Google hit with €403M fine by Irish data watchdog over GDPR violations(bbc.co.uk ↗)
    discuss
  24. Raspberry Pi founder Eben Upton: 'I'm an Omni-geek(ft.com ↗)
    discuss
  25. Grok 4.7 is here with Electrical engineering benchmark which beats fable 5.1 max(twitter.com/hive_echo ↗)
    discuss
  26. Delta A21N at Kahului on Sep 19th 2026, fuel fumes on board(avherald.com ↗)
    discuss
  27. WWLD #1: Domains and gas station hotdogs(chaosguru.substack.com ↗)
    1comments
  28. The agents, they just want to talk(snats.xyz ↗)
    1comments
  29. Amazon Blocks Meta's Muse AI Agent from Its Retail Site(bloomberg.com ↗)
    1comments
  30. Show HN: Foremerge – Catch Intent Conflicts Between Parallel Coding Agents(github.com/naw103 ↗)
    discuss

Nginx Control API: View In-Memory Configuration and Reload via HTTP Requests

3 pointsby 44m agoblog.nginx.org
1 comments
44m agoHN ↗

From the blog post:

Before the latest release, NGINX had to be controlled exclusively by Unix signals. The most notable one is SIGHUP or the well-known “nginx -s reload” command. This configuration method, while very stable, does not meet modern environment requirements: there are very few available options, no direct feedback messages on errors, and no real extensibility. We fixed that.

NGINX recently published the version 1.31.5 release containing a new feature called the NGINX Control API. This is a new interface for reading configuration and triggering reload operations that presents these functions to the user over a REST API. Filesystem system configuration files and UNIX signal daemon management are not optimal for all users of NGINX. With the rise of Kubernetes and the continued dominance of containers as a deployment target for NGINX we wanted to provide configuration and management interfaces that better support using NGINX in containers or behind managed deployments. The NGINX Control API provides a way to read and reload configuration that is transactional, returning deterministic success or failure codes as any HTTP response would. This Control API can be served across a trusted network. Furthermore, the Control API provides an interface that does not experience any interruption during reload.

Newly released, this Control API provides the ability to read the current in-memory configuration associated with a master process. This is a completely new capability. Since NGINX has always had the potential to reject a new configuration and continue unaffected during a reload, users sometimes fall into a trap where they no longer know what configuration NGINX is then running. The configuration on disk may have completely changed but NGINX is still running some old configuration. Before Control API there was no method of retrieving that current configuration. Finally in these cases the user can simply fetch it with an HTTP request.

The Control API also provides facilities to trigger NGINX reloads. This will capture all logs during reload and return them in the response to the user. Additionally, the HTTP status code in this response will provide a simple way to answer the question “did this reload succeed or fail”. Previously, users may have had to export and search through logs for this information or potentially check PIDs of worker processes. The Control API holds a unique position to capture post-reload failures such as socket permission errors that previously were only observable through the logs of a new master process. These failures, while not loggable by the old master configuration, are reflected in the HTTP status code of the response. This is a new capability for NGINX. Previously users who relied on commands such as “nginx -s reload” or by sending SIGHUP to the master process had to then search the logs to make sure the reload succeeded. Now this information is relayed to them automatically when they request a reload over the Control API.

In our experience, this API makes it trivially simple to create UIs and scripts for advanced NGINX management and control.