Ich möchte die Version maskieren oder den Header insgesamt entfernen.Wie verhindert man, dass Gunicorn einen 'Server'-HTTP-Header zurückgibt?
11
A
Antwort
1
Sie können _ _ init _ _ Py bearbeiten zu setzen SERVER_SOFTWARE, was auch immer Sie wollen. Aber ich würde wirklich gerne die Möglichkeit haben, dies mit einer Flagge zu deaktivieren, so dass ich den Patch nicht erneut anwenden muss, wenn ich ein Upgrade mache.
12
Um den 'Server:' ändern HTTP-Header, in Ihrer conf.py Datei:
import gunicorn
gunicorn.SERVER_SOFTWARE = 'Microsoft-IIS/6.0'
Und einen Aufruf verwenden entlang der Linien von gunicorn -c conf.py wsgi:app
den Header ganz zu entfernen, können Sie Affe Packen Sie Gunicorn, indem Sie die HTTP-Antwortklasse durch eine Unterklasse ersetzen, die den Header herausfiltert. Dies könnte harmlos sein, wird aber wahrscheinlich nicht empfohlen. Legen Sie die folgenden in conf.py:
from gunicorn.http import wsgi
class Response(wsgi.Response):
def default_headers(self, *args, **kwargs):
headers = super(Response, self).default_headers(*args, **kwargs)
return [h for h in headers if not h.startswith('Server:')]
wsgi.Response = Response
Getestet mit gunicorn 18
Verwandte Themen
- 1. Wie verhindert man, dass Babel Generatorfunktionen umspringt
- 2. Wie verhindert man einen Kurzschluss?
- 3. Wie verhindert man, dass CALayer Hintergrundfarbe zeichnet?
- 4. Wie verhindert man, dass Waf Objektdateien umbenennt?
- 5. Wie verhindert man, dass InnoSetup Startmenüverknüpfungen erstellt?
- 6. Wie verhindert man, dass die Tischhöhe überläuft?
- 7. Wie verhindert man, dass Apache Solr bei der Suche nach "Anzügen" "suites" zurückgibt und umgekehrt?
- 8. Wie man einen Fehler in Python zurückgibt
- 9. Wie verhindert man, dass Parse Kinder von PFObject speichert?
- 10. Wie verhindert man, dass Sellerie die gleiche Aufgabe ausführt?
- 11. Wie verhindert man, dass jQuery UI-Schieberegler sich überschneiden?
- 12. Wie verhindert man, dass GWT Inline-Styles erzeugt?
- 13. Wie verhindert man, dass backgroundrb mehrere Kopien derselben Aufgabe startet?
- 14. Wie verhindert man, dass iOS Ascii in Emoji konvertiert?
- 15. Wie verhindert man, dass der Browser Sitzungsdaten und Anmeldeinformationen speichert?
- 16. Wie verhindert man, dass die Bildkontrolle "auswählbar" ist/Auswahlrahmen anzeigen?
- 17. Wie verhindert man, dass LaTeX Wörter mit einem Bindestrich trennt?
- 18. Wie verhindert man, dass VH-Einheiten die Bildlaufleiste ignorieren?
- 19. WPF: Wie verhindert man, dass ein Steuerelement eine Tastengeste stiehlt?
- 20. Wie verhindert man, dass die JBoss-Cache-Region gelöscht wird?
- 21. Wie verhindert man, dass UITextField mehrere Zeilen anzeigt?
- 22. Wie verhindert man, dass PM2 das aktuelle Verzeichnis ändert?
- 23. Wie verhindert man, dass der Linker Startup Code weg optimiert?
- 24. Wie verhindert man, dass Konstruktor Argumenttypen in C++ wirft?
- 25. Wie verhindert man, dass BASH_REMATCH aus einer Funktion austritt?
- 26. Wie verhindert man, dass der Browser eine JSON-Datei zwischenspeichert
- 27. Wie verhindert man, dass Javascript zu viele Dateien gleichzeitig öffnet?
- 28. Wie verhindert man, dass Android drawBitmap nur schwarze Bilder zeichnet?
- 29. Wie verhindert man, dass JAXB beim Marshalling unbenutzte Namespaces schreibt
- 30. Wie verhindert man, dass der Ruhezustand falsche Daten lädt?
Gute Frage! Dies ist eine gute Sicherheitsvorkehrung. – Flimm