Deploying a certificate is not the end of reverse proxy security. It is the beginning of request processing.
Protect the origin
Backend services should not normally be reachable through the same public path as the proxy. Bind internal listeners to loopback or private addresses and enforce network policy where remote origins are required.
Control request behaviour
Request size, header handling, buffering and timeouts should reflect the application protocol rather than a generic web template.
client_max_body_size 1m; proxy_connect_timeout 5s; proxy_read_timeout 60s; proxy_send_timeout 60s;
Streaming protocols require different values and often require buffering to be disabled deliberately.
Treat forwarded headers as security data
Applications commonly trust headers such as
X-Forwarded-For or X-Forwarded-Proto.
The proxy must overwrite untrusted client values rather than
forwarding them unchanged.
Log enough to investigate
Logs should connect the external request, the selected upstream and the response status without collecting unnecessary secrets.