about summary refs log tree commit diff
path: root/pkgs/servers/http
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/http')
-rw-r--r--pkgs/servers/http/angie/console-light.nix2
-rw-r--r--pkgs/servers/http/angie/default.nix6
-rw-r--r--pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_cspnonce/default.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_itk/default.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_python/default.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_tile/default.nix7
-rw-r--r--pkgs/servers/http/apache-modules/mod_tile/mod_tile-std_optional.patch26
-rw-r--r--pkgs/servers/http/apt-cacher-ng/default.nix2
-rw-r--r--pkgs/servers/http/couchdb/3.nix2
-rw-r--r--pkgs/servers/http/dave/default.nix2
-rw-r--r--pkgs/servers/http/dufs/default.nix2
-rw-r--r--pkgs/servers/http/envoy/0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch29
-rw-r--r--pkgs/servers/http/envoy/dd_trace_cpp.patch25
-rw-r--r--pkgs/servers/http/envoy/default.nix18
-rw-r--r--pkgs/servers/http/gatling/default.nix2
-rw-r--r--pkgs/servers/http/hiawatha/default.nix25
-rw-r--r--pkgs/servers/http/hiawatha/test.nix84
-rw-r--r--pkgs/servers/http/jetty/12.x.nix4
-rw-r--r--pkgs/servers/http/jetty/common.nix2
-rw-r--r--pkgs/servers/http/lighttpd/default.nix3
-rw-r--r--pkgs/servers/http/micro-httpd/default.nix2
-rw-r--r--pkgs/servers/http/nginx/generic.nix2
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix1
-rw-r--r--pkgs/servers/http/nginx/stable.nix4
-rw-r--r--pkgs/servers/http/nix-binary-cache/default.nix2
-rw-r--r--pkgs/servers/http/openresty/default.nix13
-rw-r--r--pkgs/servers/http/pomerium/0001-envoy-allow-specification-of-external-binary.patch (renamed from pkgs/servers/http/pomerium/external-envoy.diff)27
-rw-r--r--pkgs/servers/http/pomerium/default.nix11
-rw-r--r--pkgs/servers/http/pomerium/package.json10
-rw-r--r--pkgs/servers/http/pomerium/yarn-hash2
-rw-r--r--pkgs/servers/http/redstore/default.nix2
-rw-r--r--pkgs/servers/http/router/default.nix2
-rw-r--r--pkgs/servers/http/router/librusty_v8.nix7
-rw-r--r--pkgs/servers/http/showoff/default.nix2
-rw-r--r--pkgs/servers/http/tengine/default.nix2
-rw-r--r--pkgs/servers/http/tomcat/default.nix2
-rw-r--r--pkgs/servers/http/tomcat/tomcat-native.nix2
-rw-r--r--pkgs/servers/http/yaws/default.nix2
40 files changed, 213 insertions, 135 deletions
diff --git a/pkgs/servers/http/angie/console-light.nix b/pkgs/servers/http/angie/console-light.nix
index c4772205a5c74..5fe20e6146612 100644
--- a/pkgs/servers/http/angie/console-light.nix
+++ b/pkgs/servers/http/angie/console-light.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
    '';
 
   meta = {
-    description = "Console Light is a lightweight, real-time activity monitoring interface.";
+    description = "Console Light is a lightweight, real-time activity monitoring interface";
     homepage    = "https://angie.software/en/console/";
     license     = lib.licenses.asl20;
     platforms   = lib.platforms.all;
diff --git a/pkgs/servers/http/angie/default.nix b/pkgs/servers/http/angie/default.nix
index f57dc2e012bd9..c9e6ec815d3a0 100644
--- a/pkgs/servers/http/angie/default.nix
+++ b/pkgs/servers/http/angie/default.nix
@@ -1,21 +1,19 @@
 { callPackage
-, runCommand
 , lib
 , fetchurl
 , nixosTests
 , withAcme ? false
 , withQuic ? false
-, fetchpatch
 , ...
 }@args:
 
 callPackage ../nginx/generic.nix args rec {
-  version = "1.5.1";
+  version = "1.5.2";
   pname = if withQuic then "angieQuic" else "angie";
 
   src = fetchurl {
     url = "https://download.angie.software/files/angie-${version}.tar.gz";
-    hash = "sha256-pSBy+Gv3rSa0WqQOxLHM0V03/vLqvOYBGxrjY9qsBfQ=";
+    hash = "sha256-jX0WBIdL3RQpgdeVf4oZByDNKQbrEjKbImC86Ceqkoc=";
   };
 
   configureFlags = lib.optionals withAcme [
diff --git a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
index 5dd2fee040e9b..4b6c5681470fa 100644
--- a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/latchset/mod_auth_mellon";
-    description = "An Apache module with a simple SAML 2.0 service provider";
+    description = "Apache module with a simple SAML 2.0 service provider";
     mainProgram = "mellon_create_metadata.sh";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix b/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix
index f6de7f0175375..68486d5d28942 100644
--- a/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_cspnonce/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "An Apache2 module that makes it dead simple to add nonce values to the CSP";
+    description = "Apache2 module that makes it dead simple to add nonce values to the CSP";
     homepage = "https://github.com/wyattoday/mod_cspnonce";
     license = licenses.asl20;
     platforms = platforms.unix;
diff --git a/pkgs/servers/http/apache-modules/mod_itk/default.nix b/pkgs/servers/http/apache-modules/mod_itk/default.nix
index a36a030899a59..1cbf78a577820 100644
--- a/pkgs/servers/http/apache-modules/mod_itk/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_itk/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "an MPM (Multi-Processing Module) for the Apache web server.";
+    description = "MPM (Multi-Processing Module) for the Apache web server";
     maintainers = [ maintainers.zupo ];
     homepage = "http://mpm-itk.sesse.net/";
     license = licenses.asl20;
diff --git a/pkgs/servers/http/apache-modules/mod_python/default.nix b/pkgs/servers/http/apache-modules/mod_python/default.nix
index 8b4fcd5d94bee..a859cf3dee4c8 100644
--- a/pkgs/servers/http/apache-modules/mod_python/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_python/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://modpython.org/";
     changelog = "https://github.com/grisha/mod_python/blob/${version}/NEWS";
-    description = "An Apache module that embeds the Python interpreter within the server";
+    description = "Apache module that embeds the Python interpreter within the server";
     mainProgram = "mod_python";
     platforms = platforms.unix;
     maintainers = with maintainers; [ ];
diff --git a/pkgs/servers/http/apache-modules/mod_tile/default.nix b/pkgs/servers/http/apache-modules/mod_tile/default.nix
index cd3937fe1fa62..6c64478cc1259 100644
--- a/pkgs/servers/http/apache-modules/mod_tile/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_tile/default.nix
@@ -29,6 +29,11 @@ stdenv.mkDerivation rec {
     hash = "sha256-zXUwTG8cqAkY5MC1jAc2TtMgNMQPLc5nc22okVYP4ME=";
   };
 
+  patches = [
+    # Support Mapnik >= v4.0.0-rc2 (boost:optional no longer used)
+    ./mod_tile-std_optional.patch
+  ];
+
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -64,6 +69,8 @@ stdenv.mkDerivation rec {
   installFlags = [ "DESTDIR=$(out)" ];
 
   doCheck = true;
+  # Do not run tests in parallel
+  enableParallelChecking = false;
 
   passthru.updateScript = nix-update-script { };
 
diff --git a/pkgs/servers/http/apache-modules/mod_tile/mod_tile-std_optional.patch b/pkgs/servers/http/apache-modules/mod_tile/mod_tile-std_optional.patch
new file mode 100644
index 0000000000000..1f63ce0bc1f1d
--- /dev/null
+++ b/pkgs/servers/http/apache-modules/mod_tile/mod_tile-std_optional.patch
@@ -0,0 +1,26 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e68d2e9..ddba150 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -48,7 +48,7 @@ find_package(LIBMEMCACHED)
+ find_package(LIBRADOS)
+ 
+ if(LIBMAPNIK_VERSION STRGREATER_EQUAL "4")
+-  set(CMAKE_CXX_STANDARD 14)
++  set(CMAKE_CXX_STANDARD 17)
+ endif()
+ 
+ # Programs
+diff --git a/src/parameterize_style.cpp b/src/parameterize_style.cpp
+index 8db7122..7100735 100644
+--- a/src/parameterize_style.cpp
++++ b/src/parameterize_style.cpp
+@@ -72,7 +74,7 @@ static void parameterize_map_language(mapnik::Map &m, char * parameter)
+ 		mapnik::parameters params = l.datasource()->params();
+ 
+ 		if (params.find("table") != params.end()) {
+-			boost::optional<std::string> table = params.get<std::string>("table");
++			auto table = params.get<std::string>("table");
+ 
+ 			if (table && table->find(",name") != std::string::npos) {
+ 				std::string str = *table;
diff --git a/pkgs/servers/http/apt-cacher-ng/default.nix b/pkgs/servers/http/apt-cacher-ng/default.nix
index 72a456ab17f94..f574ae78248be 100644
--- a/pkgs/servers/http/apt-cacher-ng/default.nix
+++ b/pkgs/servers/http/apt-cacher-ng/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ bzip2 fuse libevent xz openssl systemd tcp_wrappers zlib c-ares ];
 
   meta = with lib; {
-    description = "A caching proxy specialized for Linux distribution files";
+    description = "Caching proxy specialized for Linux distribution files";
     mainProgram = "apt-cacher-ng";
     homepage = "https://www.unix-ag.uni-kl.de/~bloch/acng/";
     license = licenses.bsdOriginal;
diff --git a/pkgs/servers/http/couchdb/3.nix b/pkgs/servers/http/couchdb/3.nix
index 6e625dbdb7203..87e80976b8c5d 100644
--- a/pkgs/servers/http/couchdb/3.nix
+++ b/pkgs/servers/http/couchdb/3.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "A database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API";
+    description = "Database that uses JSON for documents, JavaScript for MapReduce queries, and regular HTTP for an API";
     homepage = "https://couchdb.apache.org";
     license = licenses.asl20;
     platforms = platforms.all;
diff --git a/pkgs/servers/http/dave/default.nix b/pkgs/servers/http/dave/default.nix
index 492e4989d753a..8950b0b3d20d7 100644
--- a/pkgs/servers/http/dave/default.nix
+++ b/pkgs/servers/http/dave/default.nix
@@ -27,7 +27,7 @@ buildGoModule rec {
 
   meta = with lib; {
     homepage = "https://github.com/micromata/dave";
-    description = "A totally simple and very easy to configure stand alone webdav server";
+    description = "Totally simple and very easy to configure stand alone webdav server";
     license = licenses.asl20;
     maintainers = with maintainers; [ lunik1 ];
   };
diff --git a/pkgs/servers/http/dufs/default.nix b/pkgs/servers/http/dufs/default.nix
index 18296529570b6..e01c923e1cd2f 100644
--- a/pkgs/servers/http/dufs/default.nix
+++ b/pkgs/servers/http/dufs/default.nix
@@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
   '';
 
   meta = with lib; {
-    description = "A file server that supports static serving, uploading, searching, accessing control, webdav";
+    description = "File server that supports static serving, uploading, searching, accessing control, webdav";
     mainProgram = "dufs";
     homepage = "https://github.com/sigoden/dufs";
     changelog = "https://github.com/sigoden/dufs/blob/${src.rev}/CHANGELOG.md";
diff --git a/pkgs/servers/http/envoy/0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch b/pkgs/servers/http/envoy/0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch
deleted file mode 100644
index 31dfe08f91b90..0000000000000
--- a/pkgs/servers/http/envoy/0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From dd3509a7d646a970480f94a8e09f377e9783504d Mon Sep 17 00:00:00 2001
-From: Malte Poll <1780588+malt3@users.noreply.github.com>
-Date: Mon, 22 Apr 2024 16:07:58 +0200
-Subject: [PATCH 4/4] nixpkgs: add cstdint in dd-trace-cpp
-
----
- bazel/repositories.bzl | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/bazel/repositories.bzl b/bazel/repositories.bzl
-index d91aa712bd..467348e773 100644
---- a/bazel/repositories.bzl
-+++ b/bazel/repositories.bzl
-@@ -772,7 +772,11 @@ def _io_opentelemetry_api_cpp():
-     )
- 
- def _com_github_datadog_dd_trace_cpp():
--    external_http_archive("com_github_datadog_dd_trace_cpp")
-+    external_http_archive(
-+    	name = "com_github_datadog_dd_trace_cpp",
-+	patch_args = ["-p1"],
-+	patches = ["@envoy//bazel:dd_trace_cpp.patch"],
-+    )
-     native.bind(
-         name = "dd_trace_cpp",
-         actual = "@com_github_datadog_dd_trace_cpp//:dd_trace_cpp",
--- 
-2.42.0
-
diff --git a/pkgs/servers/http/envoy/dd_trace_cpp.patch b/pkgs/servers/http/envoy/dd_trace_cpp.patch
deleted file mode 100644
index d9873c8f1a8c9..0000000000000
--- a/pkgs/servers/http/envoy/dd_trace_cpp.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4851a6a722b228ecbfd9df255dab3d8f30bd84b9 Mon Sep 17 00:00:00 2001
-From: Malte Poll <1780588+malt3@users.noreply.github.com>
-Date: Mon, 22 Apr 2024 15:36:33 +0200
-Subject: [PATCH] nixpkgs: add cstdint to fix compilation under GCC 13
-
-https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
----
- src/datadog/parse_util.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/datadog/parse_util.h b/src/datadog/parse_util.h
-index c603286..c8e4e83 100644
---- a/src/datadog/parse_util.h
-+++ b/src/datadog/parse_util.h
-@@ -2,6 +2,7 @@
- 
- // This component provides parsing-related miscellanea.
- 
-+#include <cstdint>
- #include <string>
- #include <unordered_map>
- #include <vector>
--- 
-2.42.0
-
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index 8a91e361f37f2..2ea00c598e276 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -3,7 +3,6 @@
 , bazel-gazelle
 , buildBazelPackage
 , fetchFromGitHub
-, fetchpatch
 , stdenv
 , cmake
 , gn
@@ -25,15 +24,15 @@ let
     # However, the version string is more useful for end-users.
     # These are contained in a attrset of their own to make it obvious that
     # people should update both.
-    version = "1.30.1";
-    rev = "816188b86a0a52095b116b107f576324082c7c02";
-    hash = "sha256-G0rT+OfMk2nitTXcxMr04jwUMYTfb4VBEV1zftalgFU=";
+    version = "1.30.3";
+    rev = "12a6a79966203969a23aa2f0d705f39b679744c2";
+    hash = "sha256-S18bnAVha4CnYKHTzytKY6PHWSbOzmObbyZEhzIHsf8=";
   };
 
   # these need to be updated for any changes to fetchAttrs
   depsHash = {
-    x86_64-linux = "sha256-S2qfgaKyBSgCU6CkhLwezbgVqqqaFYAHQMCbYjwYRxY=";
-    aarch64-linux = "sha256-Ge6qfzjwdh9078LE5k9hqFMKx7yc2buoYOpB9IIBS/s=";
+    x86_64-linux = "sha256-m7dMr/dCmjpKLPT+8FXBHGkTlNoN9x1oQ7D6uO0sHtQ=";
+    aarch64-linux = "sha256-9GqVpWkMHP9nb5EZHjGKixkWazi//oLlIUum45xTvoM=";
   }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
 in
 buildBazelPackage {
@@ -56,8 +55,6 @@ buildBazelPackage {
     sed -i 's,#!/usr/bin/env python3,#!${python3}/bin/python,' bazel/foreign_cc/luajit.patch
     sed -i '/javabase=/d' .bazelrc
     sed -i '/"-Werror"/d' bazel/envoy_internal.bzl
-
-    cp ${./dd_trace_cpp.patch} bazel/dd_trace_cpp.patch
   '';
 
   patches = [
@@ -69,11 +66,6 @@ buildBazelPackage {
 
     # use system C/C++ tools
     ./0003-nixpkgs-use-system-C-C-toolchains.patch
-
-    # apply patch to dd-trace-cpp
-    # remove once a version of dd-trace-cpp is released and adopted by envoy
-    # that contains https://github.com/DataDog/dd-trace-cpp/commit/3a8e1e9a3cf4e87ef053e954a39dc7a967ac6965
-    ./0004-nixpkgs-add-cstdint-in-dd-trace-cpp.patch
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/http/gatling/default.nix b/pkgs/servers/http/gatling/default.nix
index 5efd3b039c9f4..5255010177af5 100644
--- a/pkgs/servers/http/gatling/default.nix
+++ b/pkgs/servers/http/gatling/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A high performance web server";
+    description = "High performance web server";
     homepage = "http://www.fefe.de/gatling/";
     license = lib.licenses.gpl2Only;
     platforms = platforms.linux;
diff --git a/pkgs/servers/http/hiawatha/default.nix b/pkgs/servers/http/hiawatha/default.nix
index 55414800361c6..f4a9277a332fa 100644
--- a/pkgs/servers/http/hiawatha/default.nix
+++ b/pkgs/servers/http/hiawatha/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv
 , fetchFromGitLab
+, callPackage
 
 , cmake
 , ninja
-, mbedtls_2
+, mbedtls
 , libxcrypt
 
 , enableCache     ? true     # Internal cache support.
@@ -16,19 +17,19 @@
 , enableToolkit   ? true     # The URL Toolkit.
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "hiawatha";
-  version = "10.11";
+  version = "11.5";
 
   src = fetchFromGitLab {
     owner = "hsleisink";
     repo = "hiawatha";
-    rev = "v${version}";
-    sha256 = "10a7dqj37zrbmgnhwsw0mqm5x25kasl8p95g01rzakviwxkdrkid";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-kswVBVL/QUQmCwH74qWwSwLz4uwDymuHIr8NokrrgEM=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
-  buildInputs = [ mbedtls_2 libxcrypt ] ++ lib.optionals enableXslt [ libxslt libxml2 ];
+  buildInputs = [ mbedtls libxcrypt ] ++ lib.optionals enableXslt [ libxslt libxml2 ];
 
   prePatch = ''
     substituteInPlace CMakeLists.txt --replace SETUID ""
@@ -46,12 +47,18 @@ stdenv.mkDerivation rec {
     ( if enableToolkit   then "-DENABLE_TOOLKIT=on"     else "-DENABLE_TOOLKIT=off"     )
   ];
 
+  passthru.tests.serve-static-files = callPackage ./test.nix {
+    hiawatha = finalAttrs.finalPackage;
+    inherit enableTls;
+  };
+
   meta = with lib; {
-    homepage = "https://www.hiawatha-webserver.org";
-    description = "An advanced and secure webserver";
+    homepage = "https://hiawatha.leisink.net/";
+    description = "Advanced and secure webserver";
     license = licenses.gpl2Only;
     platforms = platforms.unix;    # "Hiawatha runs perfectly on Linux, BSD and MacOS X"
+    mainProgram = "hiawatha";
     maintainers = [];
   };
 
-}
+})
diff --git a/pkgs/servers/http/hiawatha/test.nix b/pkgs/servers/http/hiawatha/test.nix
new file mode 100644
index 0000000000000..157d0ee79644d
--- /dev/null
+++ b/pkgs/servers/http/hiawatha/test.nix
@@ -0,0 +1,84 @@
+{ lib
+, stdenvNoCC
+, hiawatha
+, curl
+, mbedtls
+, enableTls
+}:
+
+stdenvNoCC.mkDerivation {
+  name = "hiawatha-test";
+
+  nativeBuildInputs = [
+    hiawatha
+    curl
+  ] ++ lib.optional enableTls mbedtls;
+
+  env = {
+    inherit enableTls;
+  };
+
+  buildCommand = ''
+    cp -r --no-preserve=mode ${hiawatha}/etc/hiawatha config
+    sed "1i set TEST_DIR = $(pwd)" $serverConfigPath > config/hiawatha.conf
+
+    mkdir www
+    echo "it works" > www/index.html
+
+    if [ -n "$enableTls" ]; then
+      echo "Generating self-signed certificate"
+      gen_key type=ec filename=server.key
+      cert_write selfsign=1 issuer_key=server.key output_file=server.crt
+      cat server.crt server.key > config/server.crt
+    fi
+
+    echo "Checking server configuration"
+    hiawatha -c ./config -k
+
+    echo "Starting server"
+    hiawatha -c ./config
+
+    testUrl() {
+      echo "Testing $1"
+      curl --verbose --insecure --fail "$1" | tee response
+      grep -q "it works" response
+    }
+
+    testUrl http://127.0.0.1:8000
+    if [ -n "$enableTls" ]; then
+      testUrl https://127.0.0.1:8443
+    fi
+
+    touch $out
+  '';
+
+  serverConfig = ''
+    # By default the server uses read-only directories like /var/lib and /etc
+    WorkDirectory = TEST_DIR
+    PIDfile = TEST_DIR/hiawatha.pid
+    SystemLogfile = TEST_DIR/system.log
+    GarbageLogfile = TEST_DIR/garbage.log
+    ExploitLogfile = TEST_DIR/exploit.log
+    AccessLogfile = TEST_DIR/access.log
+    ErrorLogfile = TEST_DIR/error.log
+
+    Binding {
+      Interface = 127.0.0.1
+      Port = 8000
+    }
+
+    ${lib.optionalString enableTls ''
+      Binding {
+        Interface = 127.0.0.1
+        Port = 8443
+        TLScertFile = TEST_DIR/config/server.crt
+      }
+    ''}
+
+    Hostname = 127.0.0.1
+    WebsiteRoot = TEST_DIR/www
+    StartFile = index.html
+  '';
+
+  passAsFile = [ "serverConfig" ];
+}
diff --git a/pkgs/servers/http/jetty/12.x.nix b/pkgs/servers/http/jetty/12.x.nix
index 19aaa867c5dfe..e35533d547a93 100644
--- a/pkgs/servers/http/jetty/12.x.nix
+++ b/pkgs/servers/http/jetty/12.x.nix
@@ -1,4 +1,4 @@
 import ./common.nix {
-  version = "12.0.8";
-  hash = "sha256-lmlt2bjomXl7UWu3FDUBSLGv0oyXV/8kPhRCtfSUW7w=";
+  version = "12.0.9";
+  hash = "sha256-+/pn6Q24QDTaK+Slr+B17fshEXXh6sO1DWRuFGfi2h0=";
 }
diff --git a/pkgs/servers/http/jetty/common.nix b/pkgs/servers/http/jetty/common.nix
index 7c35430e23c19..71f0dee030132 100644
--- a/pkgs/servers/http/jetty/common.nix
+++ b/pkgs/servers/http/jetty/common.nix
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A Web server and javax.servlet container";
+    description = "Web server and javax.servlet container";
     homepage = "https://eclipse.dev/jetty/";
     platforms = platforms.all;
     sourceProvenance = with sourceTypes; [ binaryBytecode ];
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 65bafdac11207..28e5af7a44d69 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -1,5 +1,4 @@
 { lib, stdenv, buildPackages, fetchurl, pkg-config, pcre2, libxml2, zlib, bzip2, which, file
-, fetchpatch
 , openssl
 , enableDbi ? false, libdbi
 , enableMagnet ? false, lua5_1
@@ -8,7 +7,7 @@
 , enablePam ? false, linux-pam
 , enableSasl ? false, cyrus_sasl
 , enableWebDAV ? false, sqlite, libuuid
-, enableExtendedAttrs ? false, attr
+, enableExtendedAttrs ? false
 , perl
 , nixosTests
 }:
diff --git a/pkgs/servers/http/micro-httpd/default.nix b/pkgs/servers/http/micro-httpd/default.nix
index b4a555910545d..2ab1597902666 100644
--- a/pkgs/servers/http/micro-httpd/default.nix
+++ b/pkgs/servers/http/micro-httpd/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     homepage    = "http://acme.com/software/micro_httpd/";
-    description = "A really small HTTP server";
+    description = "Really small HTTP server";
     license     = licenses.bsd2;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index bc97c4972be76..5757b3255b8fe 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -205,7 +205,7 @@ stdenv.mkDerivation {
   };
 
   meta = if meta != null then meta else with lib; {
-    description = "A reverse proxy and lightweight webserver";
+    description = "Reverse proxy and lightweight webserver";
     mainProgram = "nginx";
     homepage    = "http://nginx.org";
     license     = [ licenses.bsd2 ]
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index ddb9c14740bb0..669eb65323642 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix args {
-  version = "1.25.4";
-  hash = "sha256-dgcpkBrLqlF5luaB7m6iWQMpheN8J2i+74DfOod97tk=";
+  version = "1.27.0";
+  hash = "sha256-tyMOPPh+qi1LC8VqrckgqWDHhzuZkaG2b/zAj8ZQEpw=";
 }
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 4d8a1daa81cbc..f06b5b9426f21 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -3,7 +3,6 @@
 , fetchFromGitHub
 , fetchFromGitLab
 , fetchhg
-, fetchpatch
 , runCommand
 
 , arpa2common
diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix
index cc6a521af6626..3a6a049c12069 100644
--- a/pkgs/servers/http/nginx/stable.nix
+++ b/pkgs/servers/http/nginx/stable.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix args {
-  version = "1.26.0";
-  hash = "sha256-0ubIQ51sbbUBXY6qskcKtSrvhae/NjGCh5l34IQ3BJc=";
+  version = "1.26.1";
+  hash = "sha256-+Rh0aP8usVkmC/1Thnwl/44zRyYjes8ie56HDlPT42s=";
 }
diff --git a/pkgs/servers/http/nix-binary-cache/default.nix b/pkgs/servers/http/nix-binary-cache/default.nix
index 4f26610e10cfa..393415ae61e25 100644
--- a/pkgs/servers/http/nix-binary-cache/default.nix
+++ b/pkgs/servers/http/nix-binary-cache/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A set of scripts to serve the Nix store as a binary cache";
+    description = "Set of scripts to serve the Nix store as a binary cache";
     longDescription = ''
       This package installs a CGI script that serves Nix store path in the
       binary cache format. It also installs a launcher called
diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix
index 87cd8e4c53e3f..53c7742642798 100644
--- a/pkgs/servers/http/openresty/default.nix
+++ b/pkgs/servers/http/openresty/default.nix
@@ -10,12 +10,12 @@
 
 callPackage ../nginx/generic.nix args rec {
   pname = "openresty";
-  nginxVersion = "1.21.4";
-  version = "${nginxVersion}.3";
+  nginxVersion = "1.25.3";
+  version = "${nginxVersion}.1";
 
   src = fetchurl {
     url = "https://openresty.org/download/openresty-${version}.tar.gz";
-    sha256 = "sha256-M6hMY8/Z5GsOXGLrLdx7gGi9ouFoYxQ0O4n8P/0kzdM=";
+    sha256 = "sha256-MuwaJTpaEyUDVaB1/mW31j7EXFYLviEzUPCZKlfNed8=";
   };
 
   # generic.nix applies fixPatch on top of every patch defined there.
@@ -40,7 +40,8 @@ callPackage ../nginx/generic.nix args rec {
   configureFlags = [ "--with-http_postgres_module" ];
 
   postInstall = ''
-    ln -s $out/luajit/bin/luajit-2.1.0-beta3 $out/bin/luajit-openresty
+    ln -s $out/luajit/bin/luajit-2.1.ROLLING $out/bin/luajit-openresty
+    ln -sf $out/nginx/bin/nginx $out/bin/openresty
     ln -s $out/nginx/bin/nginx $out/bin/nginx
     ln -s $out/nginx/conf $out/conf
     ln -s $out/nginx/html $out/html
@@ -51,10 +52,10 @@ callPackage ../nginx/generic.nix args rec {
   };
 
   meta = {
-    description = "A fast web application server built on Nginx";
+    description = "Fast web application server built on Nginx";
     homepage = "https://openresty.org";
     license = lib.licenses.bsd2;
     platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ thoughtpolice lblasc emily ];
+    maintainers = with lib.maintainers; [ thoughtpolice lblasc ];
   };
 }
diff --git a/pkgs/servers/http/pomerium/external-envoy.diff b/pkgs/servers/http/pomerium/0001-envoy-allow-specification-of-external-binary.patch
index 49f4985ad77c3..d595dc6ccae29 100644
--- a/pkgs/servers/http/pomerium/external-envoy.diff
+++ b/pkgs/servers/http/pomerium/0001-envoy-allow-specification-of-external-binary.patch
@@ -1,5 +1,14 @@
+From fa51c56049a99ef17d86b0327bcf66f47338da45 Mon Sep 17 00:00:00 2001
+From: Morgan Helton <mhelton@gmail.com>
+Date: Sun, 26 May 2024 12:17:01 -0500
+Subject: [PATCH] envoy: allow specification of external binary
+
+---
+ pkg/envoy/envoy.go | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
 diff --git a/pkg/envoy/envoy.go b/pkg/envoy/envoy.go
-index e32cfc29..9d32c057 100644
+index 62f2d34c..879001cd 100644
 --- a/pkg/envoy/envoy.go
 +++ b/pkg/envoy/envoy.go
 @@ -8,9 +8,9 @@ import (
@@ -13,7 +22,7 @@ index e32cfc29..9d32c057 100644
  	"path/filepath"
  	"regexp"
  	"strconv"
-@@ -36,8 +36,12 @@ import (
+@@ -34,8 +34,12 @@ import (
  
  const (
  	configFileName = "envoy-config.yaml"
@@ -25,15 +34,18 @@ index e32cfc29..9d32c057 100644
 +
  type serverOptions struct {
  	services string
- 	logLevel string
-@@ -60,13 +64,16 @@ type Server struct {
+ 	logLevel config.LogLevel
+@@ -58,17 +62,16 @@ type Server struct {
  
  // NewServer creates a new server with traffic routed by envoy.
  func NewServer(ctx context.Context, src config.Source, builder *envoyconfig.Builder) (*Server, error) {
--	envoyPath, err := Extract()
+-	if err := preserveRlimitNofile(); err != nil {
+-		log.Debug(ctx).Err(err).Msg("couldn't preserve RLIMIT_NOFILE before starting Envoy")
+-	}
 +	envoyPath := OverrideEnvoyPath
 +	wd := filepath.Join(os.TempDir(), workingDirectoryName)
-+
+ 
+-	envoyPath, err := Extract()
 +	err := os.MkdirAll(wd, embeddedEnvoyPermissions)
  	if err != nil {
 -		return nil, fmt.Errorf("extracting envoy: %w", err)
@@ -46,3 +58,6 @@ index e32cfc29..9d32c057 100644
  		builder:   builder,
  		grpcPort:  src.GetConfig().GRPCPort,
  		httpPort:  src.GetConfig().HTTPPort,
+-- 
+2.44.1
+
diff --git a/pkgs/servers/http/pomerium/default.nix b/pkgs/servers/http/pomerium/default.nix
index 6fe47f9853929..bd8873ce100e7 100644
--- a/pkgs/servers/http/pomerium/default.nix
+++ b/pkgs/servers/http/pomerium/default.nix
@@ -1,6 +1,5 @@
 { buildGoModule
 , fetchFromGitHub
-, callPackage
 , lib
 , envoy
 , mkYarnPackage
@@ -14,15 +13,15 @@ let
 in
 buildGoModule rec {
   pname = "pomerium";
-  version = "0.25.2";
+  version = "0.26.0";
   src = fetchFromGitHub {
     owner = "pomerium";
     repo = "pomerium";
     rev = "v${version}";
-    hash = "sha256-JateIiVao5IiPXmphA5+PlzB2XtP6zRR4rURqXSqJ6Q=";
+    hash = "sha256-AkpfLKPirl8fz4s0hQI15aSgI2PZFPakAzC+j66MVY0=";
   };
 
-  vendorHash = "sha256-GdeZkKkENacc11FmEAFUfX9efInfhpv2Lz0/3CtixFQ=";
+  vendorHash = "sha256-kabWL7yqNkI2JRPmVv0tp0nIfVDwT9QbbDIbdM8sL5s=";
 
   ui = mkYarnPackage {
     inherit version;
@@ -54,7 +53,9 @@ buildGoModule rec {
   ];
 
   # patch pomerium to allow use of external envoy
-  patches = [ ./external-envoy.diff ];
+  patches = [
+    ./0001-envoy-allow-specification-of-external-binary.patch
+  ];
 
   ldflags = let
     # Set a variety of useful meta variables for stamping the build with.
diff --git a/pkgs/servers/http/pomerium/package.json b/pkgs/servers/http/pomerium/package.json
index 4f81e118d85a5..59e65c4fcbaa6 100644
--- a/pkgs/servers/http/pomerium/package.json
+++ b/pkgs/servers/http/pomerium/package.json
@@ -29,21 +29,21 @@
     "@fontsource/dm-sans": "^5.0.13",
     "@mui/icons-material": "^5.14.9",
     "@mui/material": "^5.4.0",
-    "luxon": "^2.5.2",
+    "lodash": "^4.17.21",
     "markdown-to-jsx": "^7.2.1",
     "react": "^17.0.2",
     "react-dom": "^17.0.2",
     "react-feather": "^2.0.10"
   },
   "devDependencies": {
-    "@trivago/prettier-plugin-sort-imports": "2.0.4",
-    "@types/luxon": "^2.0.9",
-    "@types/node": "^17.0.14",
+    "@trivago/prettier-plugin-sort-imports": "^4.2.1",
+    "@types/lodash": "^4.17.1",
+    "@types/node": "^20.12.11",
     "@types/react": "^17.0.34",
     "@types/react-dom": "^17.0.11",
     "@typescript-eslint/eslint-plugin": "^5.10.2",
     "@typescript-eslint/parser": "^5.59.11",
-    "esbuild": "^0.13.12",
+    "esbuild": "^0.21.1",
     "eslint": "7.32.0",
     "eslint-config-prettier": "^8.3.0",
     "eslint-plugin-react": "^7.28.0",
diff --git a/pkgs/servers/http/pomerium/yarn-hash b/pkgs/servers/http/pomerium/yarn-hash
index 71760c6384c7f..a631334cc391c 100644
--- a/pkgs/servers/http/pomerium/yarn-hash
+++ b/pkgs/servers/http/pomerium/yarn-hash
@@ -1 +1 @@
-1cjwkdvg9rfp55674gns44xwi32ws8z57sa4ffb0zzgdgy2yx2zm
+1xkn1zbhg4q35azlhcgc1bk1sykrawngq1fcb5r5ghgh3m2kmz76
diff --git a/pkgs/servers/http/redstore/default.nix b/pkgs/servers/http/redstore/default.nix
index 869f2c1f3b04e..321f91770c7cc 100644
--- a/pkgs/servers/http/redstore/default.nix
+++ b/pkgs/servers/http/redstore/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "An HTTP interface to Redland RDF store";
+    description = "HTTP interface to Redland RDF store";
     mainProgram = "redstore";
     homepage = "https://www.aelius.com/njh/redstore/";
     maintainers = [ lib.maintainers.raskin ];
diff --git a/pkgs/servers/http/router/default.nix b/pkgs/servers/http/router/default.nix
index f4903b2f31f7c..7cd2a604fc37b 100644
--- a/pkgs/servers/http/router/default.nix
+++ b/pkgs/servers/http/router/default.nix
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
-    description = "A configurable, high-performance routing runtime for Apollo Federation";
+    description = "Configurable, high-performance routing runtime for Apollo Federation";
     homepage = "https://www.apollographql.com/docs/router/";
     license = licenses.elastic20;
     maintainers = [ maintainers.bbigras ];
diff --git a/pkgs/servers/http/router/librusty_v8.nix b/pkgs/servers/http/router/librusty_v8.nix
index 1d5e334f2d07b..82cdb5e1575ee 100644
--- a/pkgs/servers/http/router/librusty_v8.nix
+++ b/pkgs/servers/http/router/librusty_v8.nix
@@ -1,11 +1,14 @@
-{ stdenv, fetchurl }:
+{ lib, stdenv, fetchurl }:
 
 let
   fetch_librusty_v8 = args: fetchurl {
     name = "librusty_v8-${args.version}";
     url = "https://github.com/denoland/rusty_v8/releases/download/v${args.version}/librusty_v8_release_${stdenv.hostPlatform.rust.rustcTarget}.a";
     sha256 = args.shas.${stdenv.hostPlatform.system};
-    meta = { inherit (args) version; };
+    meta = {
+      inherit (args) version;
+      sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+    };
   };
 in
 fetch_librusty_v8 {
diff --git a/pkgs/servers/http/showoff/default.nix b/pkgs/servers/http/showoff/default.nix
index ecfd034e05b36..c3deae28ec0e2 100644
--- a/pkgs/servers/http/showoff/default.nix
+++ b/pkgs/servers/http/showoff/default.nix
@@ -8,7 +8,7 @@ bundlerApp {
   passthru.updateScript = bundlerUpdateScript "showoff";
 
   meta = with lib; {
-    description = "A slideshow presentation tool with a twist";
+    description = "Slideshow presentation tool with a twist";
     longDescription = "It runs as a web application, with audience interactivity features. This means that your audience can follow along in their own browsers, can download supplemental materials, can participate in quizzes or polls, post questions for the presenter, etc. By default, their slideshows will synchronize with the presenter, but they can switch to self-navigation mode";
     homepage = "https://puppetlabs.github.io/showoff/";
     license = with licenses; mit;
diff --git a/pkgs/servers/http/tengine/default.nix b/pkgs/servers/http/tengine/default.nix
index 591f180893b32..d36071de21420 100644
--- a/pkgs/servers/http/tengine/default.nix
+++ b/pkgs/servers/http/tengine/default.nix
@@ -117,7 +117,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    description = "A web server based on Nginx and has many advanced features, originated by Taobao";
+    description = "Web server based on Nginx and has many advanced features, originated by Taobao";
     mainProgram = "nginx";
     homepage    = "https://tengine.taobao.org";
     license     = licenses.bsd2;
diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix
index 82fc547b5da9d..b2ec04f10f9d3 100644
--- a/pkgs/servers/http/tomcat/default.nix
+++ b/pkgs/servers/http/tomcat/default.nix
@@ -29,7 +29,7 @@ let
 
     meta = with lib; {
       homepage = "https://tomcat.apache.org/";
-      description = "An implementation of the Java Servlet and JavaServer Pages technologies";
+      description = "Implementation of the Java Servlet and JavaServer Pages technologies";
       platforms = jre.meta.platforms;
       maintainers = with maintainers; [ anthonyroussel ];
       license = [ licenses.asl20 ];
diff --git a/pkgs/servers/http/tomcat/tomcat-native.nix b/pkgs/servers/http/tomcat/tomcat-native.nix
index 84e5cecf1e5e0..31d2889995cfa 100644
--- a/pkgs/servers/http/tomcat/tomcat-native.nix
+++ b/pkgs/servers/http/tomcat/tomcat-native.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "An optional component for use with Apache Tomcat that allows Tomcat to use certain native resources for performance, compatibility, etc";
+    description = "Optional component for use with Apache Tomcat that allows Tomcat to use certain native resources for performance, compatibility, etc";
     homepage = "https://tomcat.apache.org/native-doc/";
     license = licenses.asl20;
     platforms = platforms.unix;
diff --git a/pkgs/servers/http/yaws/default.nix b/pkgs/servers/http/yaws/default.nix
index 5e5a401d35d2a..ad096299c44f3 100644
--- a/pkgs/servers/http/yaws/default.nix
+++ b/pkgs/servers/http/yaws/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "A webserver for dynamic content written in Erlang.";
+    description = "Webserver for dynamic content written in Erlang";
     mainProgram = "yaws";
     homepage = "https://github.com/erlyaws/yaws";
     license = licenses.bsd2;