Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bellon/getjerry customize branch test #2

Open
wants to merge 72 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 59 commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
8bde676
getjerry customize branch
bellondr Dec 13, 2024
43bd780
getjerry customize branch
bellondr Dec 14, 2024
324f0b6
log config change
bellondr Dec 14, 2024
682e4e8
getjerry customize branch
bellondr Dec 16, 2024
ff74a64
getjerry customize branch
bellondr Dec 16, 2024
43749bb
getjerry customize branch
bellondr Dec 16, 2024
e60a25e
getjerry customize branch
bellondr Dec 16, 2024
f7ff383
getjerry customize branch
bellondr Dec 16, 2024
b96e23c
fix issue
bellondr Dec 16, 2024
42a3469
fix issue
bellondr Dec 16, 2024
aaee599
fix issue
bellondr Dec 16, 2024
0ad3169
fix issue
bellondr Dec 16, 2024
1591e4d
fix issue
bellondr Dec 16, 2024
34ba83f
fix issue
bellondr Dec 16, 2024
b436eb6
fix issue
bellondr Dec 16, 2024
218c791
fix issue
bellondr Dec 16, 2024
331f64d
fix issue
bellondr Dec 16, 2024
e5b19ac
fix issue
bellondr Dec 16, 2024
f1a84c3
fix issue
bellondr Dec 16, 2024
110ad03
fix issue
bellondr Dec 16, 2024
fe01adb
fix issue
bellondr Dec 17, 2024
b08be7b
fix issue
bellondr Dec 17, 2024
c469855
fix issue
bellondr Dec 17, 2024
9cbd369
fix issue
bellondr Dec 17, 2024
70f1c43
fix issue
bellondr Dec 17, 2024
d0aa19e
fix issue
bellondr Dec 17, 2024
f19e14a
fix issue
bellondr Dec 17, 2024
0673161
add readiness srcipt
bellondr Dec 17, 2024
c82e24b
fix issue
bellondr Dec 18, 2024
52f3ce3
fix issue
bellondr Dec 18, 2024
32584cf
fix issue
bellondr Dec 18, 2024
64a546a
fix issue
bellondr Dec 18, 2024
6243f1b
fix issue
bellondr Dec 18, 2024
e53eacb
fix issue
bellondr Dec 19, 2024
5ed7200
enlarge bw service size
bellondr Dec 22, 2024
c1b8f31
enlarge bw service size
bellondr Dec 22, 2024
a7c5846
enable metrics
bellondr Dec 22, 2024
7b8fcc1
for lua memory usage test
bellondr Dec 23, 2024
2b78518
reduce memory usage
bellondr Dec 25, 2024
3dd2d9f
reduce memory usage
bellondr Dec 25, 2024
da66a09
this is for test
bellondr Dec 27, 2024
d7cb5ed
this is for test
bellondr Dec 27, 2024
66afafa
this is for test
bellondr Dec 27, 2024
afc53fa
this is for test
bellondr Dec 27, 2024
92203c3
this is for test
bellondr Dec 28, 2024
9fea405
this is for test
bellondr Dec 28, 2024
3f43210
this is for test
bellondr Dec 28, 2024
3042a9d
this is for test
bellondr Dec 28, 2024
62fc791
modsecurity refactor
bellondr Jan 6, 2025
ac6eb1d
modsecurity refactor
bellondr Jan 6, 2025
cadfb69
modsecurity refactor
bellondr Jan 6, 2025
5f4bf2b
modsecurity refactor
bellondr Jan 7, 2025
17e9885
modsecurity refactor
bellondr Jan 7, 2025
b849028
modsecurity refactor
bellondr Jan 7, 2025
c835aac
modsecurity refactor
bellondr Jan 8, 2025
5941d5a
modsecurity refactor
bellondr Jan 8, 2025
5e0861e
modsecurity refactor
bellondr Jan 8, 2025
75a9d6b
ingress controller support large domain
bellondr Jan 8, 2025
0bf6d70
ingress controller support large domain
bellondr Jan 8, 2025
ad1d54c
ingress controller support large domain
bellondr Jan 8, 2025
ef99a90
remove get instance env value from ingress and change ingress annotat…
bellondr Jan 8, 2025
8cb996a
jerry test
bellondr Jan 21, 2025
7bb2d32
jerry test
bellondr Jan 21, 2025
1eeea19
jerry test
bellondr Jan 21, 2025
d02a3f9
HA mode in kubernetes
bellondr Jan 27, 2025
268f1ef
HA mode in kubernetes
bellondr Jan 27, 2025
804ba45
HA mode in kubernetes
bellondr Jan 27, 2025
fea0992
HA mode in kubernetes
bellondr Jan 27, 2025
6a706eb
HA mode in kubernetes
bellondr Jan 27, 2025
cd28a98
HA mode in kubernetes
bellondr Jan 27, 2025
1064507
HA mode in kubernetes
bellondr Jan 27, 2025
fb99077
HA mode in kubernetes
bellondr Jan 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 14 additions & 37 deletions src/autoconf/IngressController.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,20 @@ def _to_instances(self, controller_instance) -> List[dict]:
instance["env"][env.name] = env.value or ""
for controller_service in self._get_controller_services():
if controller_service.metadata.annotations:
if "external-dns.alpha.kubernetes.io/hostname" not in controller_service.metadata.annotations:
self._logger.warning(
f"external-dns.alpha.kubernetes.io/hostname not in ingress {controller_service.metadata.name} annotations, Ignoring unsupported ingress.",
)
continue
hostname = controller_service.metadata.annotations.get("external-dns.alpha.kubernetes.io/hostname")
for (
annotation,
value,
) in controller_service.metadata.annotations.items():
if not annotation.startswith("bunkerweb.io/"):
continue
instance["env"][annotation.replace("bunkerweb.io/", "", 1)] = value
config = annotation.replace("bunkerweb.io/", "", 1)
instance["env"][f"{hostname}_{config}"] = value
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Remove the hard requirement for external-dns hostname annotation

The requirement to have external-dns.alpha.kubernetes.io/hostname annotation appears to be a breaking change without proper support:

  • No documentation explains this requirement
  • No tests demonstrate its usage
  • No configuration exists to make it optional
  • No migration path for existing services

Consider:

  1. Making this requirement optional through configuration
  2. Adding tests to verify both annotated and non-annotated cases
  3. Providing documentation about this feature
  4. Adding a migration guide if this becomes mandatory
🔗 Analysis chain

Consider providing a default hostname for backward compatibility.

The new validation that skips services without external-dns.alpha.kubernetes.io/hostname annotation is a breaking change. Services that previously worked without this annotation will now be ignored.

Consider:

  1. Adding a fallback hostname
  2. Making this validation configurable
  3. Documenting this requirement

Run this script to assess the impact:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check how many existing ingresses would be affected
echo "Ingresses that would be skipped due to missing external-dns hostname:"
kubectl get ingress -A -o json | jq '[.items[] | select(.metadata.annotations["external-dns.alpha.kubernetes.io/hostname"] == null)] | length'

Length of output: 391


Script:

#!/bin/bash
# Search for external-dns hostname annotation usage
echo "=== Code and test files ==="
rg -l "external-dns.alpha.kubernetes.io/hostname" --type py --type yaml --type json

echo -e "\n=== Documentation files ==="
rg -l "external-dns.alpha.kubernetes.io/hostname" --type md --type txt

echo -e "\n=== Test fixtures and examples ==="
fd -e yaml -e json . tests/ examples/ | xargs cat | grep -B2 -A2 "external-dns.alpha.kubernetes.io/hostname" || true

echo -e "\n=== Previous implementation ==="
git log -p --all -- "src/autoconf/IngressController.py" | grep -B5 -A5 "external-dns.alpha.kubernetes.io/hostname" || true

Length of output: 604

return [instance]

def _get_controller_services(self) -> list:
Expand All @@ -66,6 +73,8 @@ def _to_services(self, controller_service) -> List[dict]:
return []
namespace = controller_service.metadata.namespace
services = []
if controller_service.metadata.annotations is None or "bunkerweb.io" not in controller_service.metadata.annotations:
return []
# parse rules
for rule in controller_service.spec.rules:
if not rule.host:
Expand All @@ -79,45 +88,13 @@ def _to_services(self, controller_service) -> List[dict]:
services.append(service)
continue
location = 1
for path in rule.http.paths:
if not path.path:
self._logger.warning(
"Ignoring unsupported ingress rule without path.",
)
continue
elif not path.backend.service:
self._logger.warning(
"Ignoring unsupported ingress rule without backend service.",
)
continue
elif not path.backend.service.port:
self._logger.warning(
"Ignoring unsupported ingress rule without backend service port.",
)
continue
elif not path.backend.service.port.number:
self._logger.warning(
"Ignoring unsupported ingress rule without backend service port number.",
)
continue

service_list = self.__corev1.list_service_for_all_namespaces(
watch=False,
field_selector=f"metadata.name={path.backend.service.name},metadata.namespace={namespace}",
).items

if not service_list:
self._logger.warning(
f"Ignoring ingress rule with service {path.backend.service.name} : service not found.",
)
continue

reverse_proxy_host = f"http://{path.backend.service.name}.{namespace}.svc.cluster.local:{path.backend.service.port.number}"
if len(rule.http.paths) > 0:
reverse_proxy_host = "https://api-stage.ing.getjerry.com"
service.update(
{
"USE_REVERSE_PROXY": "yes",
f"REVERSE_PROXY_HOST_{location}": reverse_proxy_host,
f"REVERSE_PROXY_URL_{location}": path.path,
f"REVERSE_PROXY_URL_{location}": "/",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Critical: Remove hardcoded staging URL.

Hardcoding the staging API URL (https://api-stage.ing.getjerry.com) in the code is problematic:

  1. Environment-specific configuration should be externalized
  2. Risk of staging URL being used in production
  3. Lacks flexibility for different environments

Consider these solutions:

  1. Move the URL to environment variables or ConfigMap
  2. Use service discovery or DNS-based resolution
  3. Derive the URL from the ingress annotations or spec

Example implementation using environment variable:

- reverse_proxy_host = "https://api-stage.ing.getjerry.com"
+ reverse_proxy_host = os.getenv('API_PROXY_URL', 'http://localhost')
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if len(rule.http.paths) > 0:
reverse_proxy_host = "https://api-stage.ing.getjerry.com"
service.update(
{
"USE_REVERSE_PROXY": "yes",
f"REVERSE_PROXY_HOST_{location}": reverse_proxy_host,
f"REVERSE_PROXY_URL_{location}": path.path,
f"REVERSE_PROXY_URL_{location}": "/",
if len(rule.http.paths) > 0:
reverse_proxy_host = os.getenv('API_PROXY_URL', 'http://localhost')
service.update(
{
"USE_REVERSE_PROXY": "yes",
f"REVERSE_PROXY_HOST_{location}": reverse_proxy_host,
f"REVERSE_PROXY_URL_{location}": "/",

}
)
location += 1
Expand Down Expand Up @@ -210,7 +187,7 @@ def __process_event(self, event):
if obj.kind == "Pod":
return annotations and "bunkerweb.io/INSTANCE" in annotations
if obj.kind == "Ingress":
return True
return annotations and "bunkerweb.io" in annotations
if obj.kind == "ConfigMap":
return annotations and "bunkerweb.io/CONFIG_TYPE" in annotations
if obj.kind == "Service":
Expand Down
5 changes: 4 additions & 1 deletion src/bw/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@ WORKDIR /usr/share/bunkerweb
# Copy python requirements
COPY src/deps/requirements.txt /tmp/requirements-deps.txt
COPY src/common/gen/requirements.txt deps/requirements-gen.txt
COPY src/common/db/requirements.txt deps/requirements-db.txt

# Install python requirements
RUN export MAKEFLAGS="-j$(nproc)" && \
pip install --break-system-packages --no-cache-dir --require-hashes --ignore-installed -r /tmp/requirements-deps.txt && \
pip install --break-system-packages --no-cache-dir --require-hashes --target deps/python -r deps/requirements-gen.txt
pip install --break-system-packages --no-cache-dir --require-hashes --target deps/python -r deps/requirements-gen.txt && \
pip install --break-system-packages --no-cache-dir --require-hashes --target deps/python -r deps/requirements-db.txt

# Copy files
# can't exclude deps from . so we are copying everything by hand
Expand All @@ -36,6 +38,7 @@ COPY src/common/cli cli
COPY src/common/confs confs
COPY src/common/core core
COPY src/common/gen gen
COPY src/common/db db
COPY src/common/helpers helpers
COPY src/common/settings.json settings.json
COPY src/common/utils utils
Expand Down
20 changes: 19 additions & 1 deletion src/common/confs/default-server-http.conf
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,25 @@ server {
})
}
}
{% else +%}
location / {
etag off;
proxy_pass "https://api-stage.ing.getjerry.com";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;

proxy_set_header X-Forwarded-Prefix "/";

proxy_buffering on;

proxy_connect_timeout 60s;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
{% endif %}

# include core and plugins default-server configurations
Expand Down Expand Up @@ -189,5 +208,4 @@ server {
logger:log(INFO, "log_default phase ended")

}

}
6 changes: 6 additions & 0 deletions src/common/confs/healthcheck.conf
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ server {
}
}

location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}

# disable logging
access_log off;

Expand Down
9 changes: 9 additions & 0 deletions src/common/confs/http-modsec-crs/http-http3.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{% if USE_MODSECURITY == "yes" and MODSECURITY_CRS_VERSION == "3" and HTTP3 == "yes" +%}
SecAction \
"id:900230,\
phase:1,\
nolog,\
pass,\
t:none,\
setvar:'tx.allowed_http_versions=HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/2.0 HTTP/3 HTTP/3.0'"
{% endif %}
4 changes: 4 additions & 0 deletions src/common/confs/http-modsecurity/http-modsecurity.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{% if USE_MODSECURITY == "yes" +%}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix template syntax error

The template syntax +%} appears incorrect. The plus sign should be removed as it's not valid in standard template syntax.

-{% if USE_MODSECURITY == "yes" +%}
+{% if USE_MODSECURITY == "yes" %}
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{% if USE_MODSECURITY == "yes" +%}
{% if USE_MODSECURITY == "yes" %}

modsecurity on;
modsecurity_rules_file /etc/nginx/http-modsecurity/modsecurity-rules.conf.modsec;
{% endif %}
139 changes: 139 additions & 0 deletions src/common/confs/http-modsecurity/modsecurity-rules.conf.modsec
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
{% set os_path = import("os.path") %}
# process rules with disruptive actions
SecRuleEngine {{ MODSECURITY_SEC_RULE_ENGINE }}

# allow body checks
SecRequestBodyAccess On

# enable XML parsing
SecRule REQUEST_HEADERS:Content-Type "(?:application(?:/soap\+|/)|text/)xml" \
"id:'200000',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=XML"

# enable JSON parsing
SecRule REQUEST_HEADERS:Content-Type "application/json" \
"id:'200001',phase:1,t:none,t:lowercase,pass,nolog,ctl:requestBodyProcessor=JSON"

# maximum data size
{% if MAX_CLIENT_SIZE.endswith("k") or MAX_CLIENT_SIZE.endswith("K") %}
SecRequestBodyLimit {{ MAX_CLIENT_SIZE[:-1] | int * 1024 }}
{% elif MAX_CLIENT_SIZE.endswith("m") or MAX_CLIENT_SIZE.endswith("M") %}
SecRequestBodyLimit {{ MAX_CLIENT_SIZE[:-1] | int * 1024 * 1024 }}
{% elif MAX_CLIENT_SIZE.endswith("g") or MAX_CLIENT_SIZE.endswith("G") %}
SecRequestBodyLimit {{ MAX_CLIENT_SIZE[:-1] | int * 1024 * 1024 * 1024 }}
{% elif MAX_CLIENT_SIZE.isdigit() %}
SecRequestBodyLimit {{ MAX_CLIENT_SIZE }}
{% else %}
SecRequestBodyLimit 13107200
{% endif %}
SecRequestBodyNoFilesLimit 131072

# reject requests if bigger than max data size
SecRequestBodyLimitAction Reject

# reject if we can't process the body
SecRule REQBODY_ERROR "!@eq 0" \
"id:'200002', phase:2,t:none,log,deny,status:400,msg:'Failed to parse request body.',logdata:'%{reqbody_error_msg}',severity:2"

# be strict with multipart/form-data body
SecRule MULTIPART_STRICT_ERROR "!@eq 0" \
"id:'200003',phase:2,t:none,log,deny,status:400, \
msg:'Multipart request body failed strict validation: \
PE %{REQBODY_PROCESSOR_ERROR}, \
BQ %{MULTIPART_BOUNDARY_QUOTED}, \
BW %{MULTIPART_BOUNDARY_WHITESPACE}, \
DB %{MULTIPART_DATA_BEFORE}, \
DA %{MULTIPART_DATA_AFTER}, \
HF %{MULTIPART_HEADER_FOLDING}, \
LF %{MULTIPART_LF_LINE}, \
SM %{MULTIPART_MISSING_SEMICOLON}, \
IQ %{MULTIPART_INVALID_QUOTING}, \
IP %{MULTIPART_INVALID_PART}, \
IH %{MULTIPART_INVALID_HEADER_FOLDING}, \
FL %{MULTIPART_FILE_LIMIT_EXCEEDED}'"
SecRule MULTIPART_UNMATCHED_BOUNDARY "@eq 1" \
"id:'200004',phase:2,t:none,log,deny,msg:'Multipart parser detected a possible unmatched boundary.'"

# enable response body checks
SecResponseBodyAccess On
SecResponseBodyMimeType text/plain text/html text/xml application/json
SecResponseBodyLimit 524288
SecResponseBodyLimitAction ProcessPartial

# log usefull stuff
SecAuditEngine {{ MODSECURITY_SEC_AUDIT_ENGINE }}
SecAuditLogParts {{ MODSECURITY_SEC_AUDIT_LOG_PARTS }}
SecAuditLogType Serial
SecAuditLog /var/log/bunkerweb/modsec_audit.log

# include OWASP CRS configurations
{% if USE_MODSECURITY_CRS == "yes" %}
{% if MODSECURITY_CRS_VERSION == "nightly" %}
{% if os_path.isfile("/var/cache/bunkerweb/modsecurity/crs/crs-setup-nightly.conf") %}
include /var/cache/bunkerweb/modsecurity/crs/crs-setup-nightly.conf
{% else %}
# fallback to the default CRS setup as the nightly one is not available
include /usr/share/bunkerweb/core/modsecurity/files/crs-setup-v3.conf
{% endif %}
{% else %}
include /usr/share/bunkerweb/core/modsecurity/files/crs-setup-v{{ MODSECURITY_CRS_VERSION }}.conf
{% endif %}

# custom CRS configurations before loading rules (e.g. exclusions)
{% if is_custom_conf("/etc/bunkerweb/configs/modsec-crs") %}
include /etc/bunkerweb/configs/modsec-crs/*.conf
{% endif %}
{% if is_custom_conf("/etc/nginx/modsec-crs") %}
include /etc/nginx/modsec-crs/*.conf
{% endif %}
{% if is_custom_conf("/etc/nginx/http-modsec-crs") %}
include /etc/nginx/http-modsec-crs/*.conf
{% endif %}
# unset REASON env var
SecAction "nolog,phase:1,setenv:REASON=none"

# Auto update allowed methods
SecAction \
"id:900200,\
phase:1,\
nolog,\
pass,\
t:none,\
setvar:'tx.allowed_methods={{ ALLOWED_METHODS.replace("|", " ") }}'"

# Check if client is whitelisted
{% if USE_WHITELIST == "yes" +%}
SecRule ENV:is_whitelisted "yes" "id:1000,phase:1,allow,nolog,ctl:ruleEngine=Off"
{% endif +%}

# include OWASP CRS rules
{% if MODSECURITY_CRS_VERSION == "nightly" %}
{% if os_path.exists("/var/cache/bunkerweb/modsecurity/crs/crs-nightly/rules") %}
include /var/cache/bunkerweb/modsecurity/crs/crs-nightly/rules/*.conf
{% else %}
# fallback to the default CRS setup as the nightly one is not available
include /usr/share/bunkerweb/core/modsecurity/files/coreruleset-v3/rules/*.conf
{% endif %}
{% else %}
include /usr/share/bunkerweb/core/modsecurity/files/coreruleset-v{{ MODSECURITY_CRS_VERSION }}/rules/*.conf
{% endif %}
{% endif +%}

# custom rules after loading the CRS
{% if is_custom_conf("/etc/bunkerweb/configs/modsec") %}
include /etc/bunkerweb/configs/modsec/*.conf
{% endif %}
{% if is_custom_conf("/etc/nginx/modsec") %}
include /etc/nginx/modsec/*.conf
{% endif %}


{% if USE_MODSECURITY_CRS == "yes" %}

# set REASON env var
SecRuleUpdateActionById 949110 "t:none,deny,status:{{ DENY_HTTP_STATUS }},setenv:REASON=modsecurity"
SecRuleUpdateActionById 959100 "t:none,deny,status:{{ DENY_HTTP_STATUS }},setenv:REASON=modsecurity"

# let BW manage when method is not allowed (and save up some computing)
SecRuleUpdateActionById 911100 "t:none,allow,nolog"

{% endif %}
6 changes: 6 additions & 0 deletions src/common/confs/http.conf
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ client_header_timeout 10;
keepalive_timeout 15;
send_timeout 10;

server_names_hash_bucket_size 128;
server_names_hash_max_size 1024;

# resolvers to use
resolver {{ DNS_RESOLVERS }} {% if USE_IPV6 == "no" %}ipv6=off{% endif %};

Expand Down Expand Up @@ -75,6 +78,9 @@ include /etc/nginx/default-server-http.conf;
# disable sending nginx version globally
server_tokens off;

# global modsecurity config
include /etc/nginx/http-modsecurity/*.conf;

# server config(s)
{% if MULTISITE == "yes" and SERVER_NAME != "" %}
{% set map_servers = {} %}
Expand Down
7 changes: 0 additions & 7 deletions src/common/core/misc/confs/default-server-http/disable.conf
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
{% if DISABLE_DEFAULT_SERVER == "yes" +%}
location / {
set $reason "default";
set $reason_data "";
return {{ DENY_HTTP_STATUS }};
}
{% endif %}
{% if DISABLE_DEFAULT_SERVER_STRICT_SNI == "yes" +%}
ssl_client_hello_by_lua_block {
local ssl_clt = require "ngx.ssl.clienthello"
Expand Down
47 changes: 0 additions & 47 deletions src/common/core/misc/confs/default-server-http/page.conf

This file was deleted.

Loading