So legen Sie die Parameter für die Post-Request-Druckeranforderung für Nginx-Protokolle fest

So legen Sie die Parameter für die Post-Request-Druckeranforderung für Nginx-Protokolle fest

【Vorwort】

Die SMS-Funktion unseres Projekts besteht darin, eine Verbindung zu einem Drittanbieter herzustellen. Die ursprüngliche Empfangsbestätigungsanforderung des Drittanbieters war eine Get-Anforderung. Bei der Fehlerbehebung konnten wir die Parameter der Anforderung des anderen Anbieters über das Nginx-Protokoll abrufen. Vor Kurzem haben wir zu einem anderen Drittanbieter gewechselt. Die Bestätigungsanforderung des neuen Drittanbieters war ein Post. Bei der Fehlerbehebung stellten wir fest, dass Nginx die spezifischen Parameter nicht druckte. Daher haben wir einige Informationen konsultiert und Experimente und Online-Anpassungen mit Betrieb und Wartung durchgeführt. Nach der Anpassung können wir die Anforderungsparameter abrufen, was für uns bei der Fehlerbehebung bequemer ist.

[Nginx legt Druckpost-Anforderungsparameter fest]

1. Richten Sie die Nginx-Konfigurationsdatei (nginx.conf) so ein, dass die Post-Request-Parameter gedruckt werden: Fügen Sie „dm“:$request_body zum log_format des http-Moduls hinzu, um chinesische verstümmelte Zeichen zu vermeiden, und fügen Sie escape=json hinzu

 log_format main escape=json '{ "@timestamp": "$time_iso8601", '
            '"remote_addr": "$remote_addr",'
            '"costime": "$request_time",'
            '"Echtzeit": "$upstream_response_time",'
            '"status": $status,'
            '"x_forwarded": "$http_x_forwarded_for",'
            '"referer": "$http_referer",'
            '"Anfrage": "$Anfrage",'
            '"upstr_addr": "$upstream_addr",'
            '"bytes":$body_bytes_sent,'
            '"dm":$Anfragetext,'
            '"Agent": "$http_user_agent" }';

   Zugriffsprotokoll /var/log/nginx/access.log Haupt;

2. Vergleich der Effekte vor und nach der Einstellung

1. JSON-Format zum Senden der Anfrage

{
  "Ergebnisse":[
    {
   "Preis":{
        "PreisProNachricht":0.01,
        "Währung": "aaa"
      },
      "messageId":"ff4804ef-6ab6-4abd-984d-ab3b1387e852",
      "An":"385981178",
      "gesendetAt":"2015-02-12T09:58:20.323+0100",
      "doneAt":"2015-02-12T09:58:20.337+0100",
      "SmsCount":1,
      "Status":{
        "Ich würde": 5,
        "Gruppen-ID": 3,
        "Gruppenname": "ZUGESTELLT",
        "Name": "An Mobiltelefon geliefert",
        "Beschreibung": "Nachricht an Mobiltelefon übermittelt"
      },
      "Fehler":{
        "Gruppen-ID": 0,
        "Gruppenname": "OK",
        "Ich würde":0,
        "Name": "KEIN_FEHLER",
        "Beschreibung":"Kein Fehler",
        "permanent":false
      }
    }
  ]
}

2. Das Ergebnis des Nginx-Ausdrucks vor dem Festlegen der Post-Anforderung druckt die Parameter offensichtlich nicht aus

3. Nach dem Festlegen der Post-Anforderung druckt nginx die Parameter und stellt fest, dass die Parameter gedruckt werden, aber verstümmelte Zeichen enthalten

4. Lösen Sie den verstümmelten Code

(1) Sie müssen escape=json nach log_format main hinzufügen

(2) Die Nginx-Version muss 1.15.1 oder höher sein.

(3) Erfüllen Sie die oben gedruckten Endergebnisse

3. Notwendigkeit der Anzeige von Nginx-Protokollen

1. Umfassender: Es kann den IP-Browser und die Anforderungsparameter des Besuchers sowie andere Informationen umfassender aufzeichnen als das Java-Anforderungsprotokoll.

2. Wenn die Anzahl der Anforderungen groß ist, kann das Java-Programm sie nicht verarbeiten. Zu diesem Zeitpunkt verfügt das Java-Protokoll nicht über redundante Zugriffsanforderungen, nginx jedoch schon, was bei der Fehlerbehebung und Optimierung der Systemleistung hilfreich ist.

【Zusammenfassen】

1. Probleme können durch Protokolle schnell lokalisiert werden;

2. Bei der Fehlerbehebung müssen Sie das Problem umfassend und aus mehreren Dimensionen betrachten.

Dies ist das Ende dieses Artikels zum Festlegen der Post-Request-Parameter für den Nginx-Protokolldruck. Weitere relevante Post-Request-Parameter für den Nginx-Protokolldruck finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Anweisungen zur Nginx-Protokollkonfiguration
  • Detaillierte Schritte zum Aktivieren der Echtzeitanzeige von Zugriffsprotokollen in Nginx
  • Detaillierte Erklärung zum Nginx-Protokollschneiden nach Datum (Schneiden nach Tag)
  • Detaillierte Analyse und Konfiguration von access_log im Nginx-Server
  • Konfigurationsbeispiel für die Protokollierung im JSON-Format in nginx
  • Anforderungs-Antwort-Protokoll zum Nginx-Protokoll hinzufügen (empfohlen)
  • Nginx deaktiviert die Protokollierungskonfiguration von favicon.ico und robots.txt

<<:  Kurze Analyse des MySQL B-Tree-Index

>>:  Beispiel für die Implementierung des Ziehens von Zeilen und Spalten in einer Elementtabelle

Artikel empfehlen

Detaillierte Installation und Verwendung von Docker-Compose

Docker Compose ist ein Docker-Tool zum Definieren...

XHTML-Tutorial für den Einstieg: Häufig verwendete XHTML-Tags

<br />Genau wie ein Artikel sollten unsere W...

So implementieren Sie On-Demand-Import und globalen Import in Element-Plus

Inhaltsverzeichnis Import auf Anfrage: Globaler I...

Zusammenfassung der Ubuntu-Sicherungsmethoden (vier Typen)

Methode 1: Um Respin zu verwenden, folgen Sie die...

CSS zum Erzielen eines Beispielcodes für eine Bildlaufleiste

Auf manchen Websites sieht man oft Bilder, die ko...

Lösen Sie das Problem des Startfehlers von PHPStudy MySQL unter Windows

Einen Fehler melden Der Apache\Nginx-Dienst wurde...

So installieren Sie Git unter Linux

1. Einleitung Git ist ein kostenloses, verteiltes...

Installationsschritte von Docker-CE auf dem Raspberry Pi 4b Ubuntu19-Server

Das Raspberry Pi-Modell ist 4b, 1 G RAM. Das Syst...

Tutorial zur Installation des Tomcat-Servers unter Windows

1 Herunterladen und vorbereiten Zuerst müssen wir...