]> git.mxchange.org Git - friendica.git/blobdiff - mods/sample-nginx.config
Merge pull request #12540 from annando/forum-thread
[friendica.git] / mods / sample-nginx.config
index 5530bfaefd9cff6d328c81518df30da9bfe8c017..88edf1916234b97ed1778a0a5ed5a82d7934c1e5 100644 (file)
 # http://wiki.nginx.org/Configuration
 ##
 
+##
+# by https://syshero.org/2018-04-13-nginx-unique-request-identifier/
+# if X-Request-ID is set, NGINX will forward the same value to the next upstream
+# if the header is not set, NGINX will generate a random request identifier and add it to the request.
+#
+# To guarantee backward compatibility, map to format the $request_id variable to a format that matches any old setups.
+##
+
+map $request_id $formatted_id {
+  "~*(?<p1>[0-9a-f]{8})(?<p2>[0-9a-f]{4})(?<p3>[0-9a-f]{4})(?<p4>[0-9a-f]{4})(?<p5>.*)$" "${p1}-${p2}-${p3}-${p4}-${p5}";
+}
+
+map $http_x_request_id $uuid {
+  default   "${request_id}";
+  ~*        "${http_x_request_id}";
+}
+
+
 ##
 # This configuration assumes your domain is example.net
 # You have a separate subdomain friendica.example.net
@@ -80,6 +98,9 @@ server {
   client_max_body_size 20m;
   client_body_buffer_size 128k;
 
+  # add the request id header to show it in the HTTP header output
+  add_header X-Request-ID $uuid;
+
   # rewrite to front controller as default rule
   location / {
     try_files $uri /index.php?pagename=$uri&$args;
@@ -125,6 +146,7 @@ server {
     include fastcgi_params;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+    fastcgi_param HTTP_X_REQUEST_ID $uuid;
                
     fastcgi_buffers 16 16k; 
     fastcgi_buffer_size 32k;