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

NGINX Proxy Buffer Configuration #1398

Open
mpstefan opened this issue Dec 15, 2023 · 6 comments
Open

NGINX Proxy Buffer Configuration #1398

mpstefan opened this issue Dec 15, 2023 · 6 comments
Labels
area/nginx-configuration Relates to nginx configuration epic Represents an epic. Contains sub-issues

Comments

@mpstefan
Copy link
Collaborator

mpstefan commented Dec 15, 2023

As a user of NGF
I want to configure NGINX's proxy buffer configuration for my applications
So that when any part of my request exceeds the needed proxy buffer I can increase the limit to support my traffic.

Acceptance

  • NGINX directives:

    • proxy_buffer_size
    • proxy_buffers
    • proxy_buffering
    • proxy_busy_buffers_size
  • The NGINX Extensions design is reviewed to implement the above directives.

  • The above directives are configurable via a ProxySettingsPolicy for the scope it is applied at.

  • The ProxySettingsPolicy can be attached to a Gateway or Route.

Feedback

@mpstefan
Copy link
Collaborator Author

Are there any additional directives we want to look at to include in proxy buffer configuration?
What policy should proxy buffer configuration be a part of?

@mpstefan mpstefan added this to the v1.2.0 milestone Dec 15, 2023
@mpstefan mpstefan added the area/nginx-configuration Relates to nginx configuration label Dec 15, 2023
Copy link
Contributor

github-actions bot commented Feb 6, 2024

This issue is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 14 days.

@github-actions github-actions bot added the stale Pull requests/issues with no activity label Feb 6, 2024
@sjberman sjberman removed the stale Pull requests/issues with no activity label Feb 6, 2024
@mpstefan mpstefan modified the milestones: v1.2.0, v2.0.0 Feb 21, 2024
@pleshakov
Copy link
Contributor

From NGINX community slack https://nginxcommunity.slack.com/archives/C03SXACMUBE/p1708990162329589 ,
there is also a related large_client_header_buffers directive -- https://nginx.org/en/docs/http/ngx_http_core_module.html#large_client_header_buffers

@mpstefan mpstefan closed this as not planned Won't fix, can't repro, duplicate, stale Mar 29, 2024
@mpstefan mpstefan reopened this Mar 29, 2024
@mpstefan mpstefan modified the milestones: v1.3.0, v2.0.0, v2.1.0 Mar 29, 2024
@mpstefan mpstefan added the epic Represents an epic. Contains sub-issues label Jun 20, 2024
@mpstefan mpstefan modified the milestones: v2.0.0, v2.1.0 Jul 2, 2024
@uptickmetachu
Copy link

Can confirm we also need large_client_header_buffers as well.

This is blocking our adoption of ngf.

@mpstefan mpstefan added this to the v2.2.0 milestone Jul 26, 2024
@mpstefan mpstefan modified the milestones: v2.1.0, v2.3.0 Aug 7, 2024
@mpstefan
Copy link
Collaborator Author

mpstefan commented Aug 7, 2024

Just a quick update to this issue: we still plan to implement these as "first-class" configurations via an extension of the Gateway API, but you will soon be able to implement these via snippets as proposed here. This customization will be available in NGF 1.5 which is planned to release around the beginning of November.

LukeRepko added a commit to LukeRepko/genestack that referenced this issue Oct 11, 2024
There is no easy way to add `proxy_buffer_size` or similar parameters
to Nginx via CRD. A feature for the same is being worked on and might
be released early November per [nginxinc/nginx-gateway-fabric/#1398](nginx/nginx-gateway-fabric#1398 (comment)).

As a workaround, this change includes the default nginx configuration
as deployed in the current version of nginx gateway fabric. It will
be made available to the nginx pod at `/etc/nginx/nginx.conf` by
supplanting the nginx-gateway deployment with a kustomize patch
that overrides `nginx.conf` via a mounted configMap volume containing
said file.

Several additional parameters, `proxy_buffer_size` and `proxy_buffers`
are being included at this time, to account for some large header
payloads being proxied from Gnocchi.
LukeRepko added a commit to LukeRepko/genestack that referenced this issue Oct 11, 2024
There is no easy way to add `proxy_buffer_size` or similar parameters
to Nginx via CRD. A feature for the same is being worked on and might
be released early November per nginx/nginx-gateway-fabric#1398 (comment)

As a workaround, this change includes the default nginx configuration
as deployed in the current version of nginx gateway fabric. It will
be made available to the nginx pod at `/etc/nginx/nginx.conf` by
supplanting the nginx-gateway deployment with a kustomize patch
that overrides `nginx.conf` via a mounted configMap volume containing
said file.

Several additional parameters, `proxy_buffer_size` and `proxy_buffers`
are being included at this time, to account for some large header
payloads being proxied from Gnocchi.
LukeRepko added a commit to LukeRepko/genestack that referenced this issue Oct 11, 2024
There is no easy way to add `proxy_buffer_size` or similar parameters
to Nginx via CRD. A feature for the same is being worked on and might
be released early November per nginx/nginx-gateway-fabric#1398 (comment)

As a workaround, this change includes the default nginx configuration
as deployed in the current version of nginx gateway fabric. It will
be made available to the nginx pod at `/etc/nginx/nginx.conf` by
supplanting the nginx-gateway deployment with a kustomize patch
that overrides `nginx.conf` via a mounted configMap volume containing
said file.

Several additional parameters, `proxy_buffer_size` and `proxy_buffers`
are being included at this time, to account for some large header
payloads being proxied from Gnocchi.
LukeRepko added a commit to rackerlabs/genestack that referenced this issue Oct 14, 2024
* fix(gatewayapi): allow custom nginx.conf

There is no easy way to add `proxy_buffer_size` or similar parameters
to Nginx via CRD. A feature for the same is being worked on and might
be released early November per nginx/nginx-gateway-fabric#1398 (comment)

As a workaround, this change includes the default nginx configuration
as deployed in the current version of nginx gateway fabric. It will
be made available to the nginx pod at `/etc/nginx/nginx.conf` by
supplanting the nginx-gateway deployment with a kustomize patch
that overrides `nginx.conf` via a mounted configMap volume containing
said file.

Several additional parameters, `proxy_buffer_size` and `proxy_buffers`
are being included at this time, to account for some large header
payloads being proxied from Gnocchi.

* docs(gatewayapi): include base kustomize overlay
@sjberman
Copy link
Collaborator

SnippetsFilter API should hopefully be useful to configure these settings for now until we support the native policy for buffer settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/nginx-configuration Relates to nginx configuration epic Represents an epic. Contains sub-issues
Projects
Status: 🆕 New
Development

No branches or pull requests

4 participants