feat(plugin): error-page: support 403 and Nginx variables in body#13741
Open
baiuu wants to merge 2 commits into
Open
feat(plugin): error-page: support 403 and Nginx variables in body#13741baiuu wants to merge 2 commits into
baiuu wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes #13742
Description
Two enhancements to the
error-pageplugin:1. Support custom error pages for 403 responses
metadata_schema: adderror_403(same structure as 404/500/502/503)get_metadata: lower status threshold from< 404to< 400error_<status>key)2. Support Nginx variables in the error page body
header_filterviacore.utils.resolve_var(same semantics asresponse-rewriteheaders:$var,${var},??default values,\$escaping)ctxand emitted bybody_filterContent-Lengthis set from the rendered body to avoid truncation or stalls$short-circuit before regex processing — no overhead for existing configurationsMotivation: allow operators to serve unified custom error pages for auth rejections (403) and embed the request ID (
$apisix_request_id) so users can report it and admins can correlate the page with logs.Checklist
t/plugin/error-page.t:$var,${var}),??default value,\$escapingAcknowledgement
This change was developed with the assistance of Kimi K3 (Moonshot AI) — including implementation, test cases, and documentation.