Protokolliert eine Variable, die durch das Lua-Modul von nginx gesetzt wird

8

Ich versuche, das Lua-Modul in nginx zu verwenden, um eine Variable ("foo") basierend auf JSON im Hauptteil einer Anfrage festzulegen. Dann möchte ich den Wert dieser Variablen im Zugriffsprotokoll protokollieren.

Wie so:

%Vor%

Allerdings startet nginx nicht mit dieser Konfiguration. Es beklagt sich so:

%Vor%

Ich habe versucht, einen 'set $ foo' - '' zum Ort hinzuzufügen, aber das scheint einfach zu überschreiben, was ich in Lua mache.

Gedanken?

Meine nginx -V-Ausgabe

    
danslimmon 15.07.2013, 20:24
quelle

2 Antworten

5

Sie müssen die Variable $ foo definieren, bevor das Lua-Modul sie verwenden kann. Überprüfen Sie das Dokument, um ein Beispiel für die Definition der Variable in der location-Anweisung zu finden , bevor Sie es verwenden.

    
Edd 02.08.2013 23:19
quelle
0

Damit der obige Link nicht mehr funktioniert, tun Sie Folgendes:

%Vor%

Dies liegt daran, dass Sie set nicht innerhalb des Serverblocks verwenden können. Dies ist der beste Weg, die Variable für alle vhosts zu definieren. geoip könnte auch eine gute Option sein

    
higuita 26.06.2017 19:13
quelle

Tags und Links