Ich habe Apache so konfiguriert, dass 200 Antworten zurückgesendet werden, ohne dass eine Datei mit dieser Konfigurationszeile bereitgestellt wird
Redirect 200 /hello
Kann ich das mit Nginx machen? Ich möchte keine Datei bereitstellen, sondern nur, dass der Server mit 200 antwortet (ich protokolliere nur die Anforderung).
Ich weiß, dass ich eine Indexdatei hinzufügen und das Gleiche erreichen kann, aber wenn ich es in der Konfiguration mache, kann eines weniger schief gehen.
gangnam\nstyle
?default_type text/plain;
anstelle deradd_header
Direktive das Innere des Location-Blocks verwenden .Sie müssen eine 204 verwenden, da Nginx eine 200 ohne Antworttext nicht zulässt. Um eine 204 zu senden, verwenden Sie einfach die return-Direktive an
return 204;
der entsprechenden Stelle.quelle
curl
.Gemäß den Statuscode-Definitionen möchten Sie, dass es sich um eine 204 und nicht um eine 200 handelt. 200 müssen mit einer Ressource in der Antwort verknüpft sein. Andernfalls würde dies die meisten vernünftigen Browser verwirren. Das andere, das Sie verwenden können, ist 304, das für zwischengespeicherten Inhalt ist.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
quelle
Um die Antwort von @Martin Fjordval zu vervollständigen, seien Sie vorsichtig, wenn Sie eine solche Konfiguration verwenden, um einen Gesundheitscheck durchzuführen.
Während ein
204
HTTP-Code semantisch perfekt für einen Healthcheck ist (Erfolgsanzeige ohne Inhalt), wird er von einigen Diensten nicht als Erfolg gewertet .Ich hatte nämlich das Problem mit Google Cloud Load-Balancern .
quelle