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

Harbor to Harbor replication fails with large number of projects, when behind Nginx proxy. #21648

Open
tjerbaugh opened this issue Feb 17, 2025 · 3 comments

Comments

@tjerbaugh
Copy link

tjerbaugh commented Feb 17, 2025

When replicating between two Harbor instances, both behind the provided Nginx proxy (official harbor helm chart), the target harbor-nginx logs show the error: "upstream sent too big header while reading response header from upstream".

Is there a way in the values.yaml to modify the deployed harbor-nginx configmap?

We got it to work by adding the following values to the http section, by editing the live manifest.
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;

The issues with this are:

  1. We have to do this manually (or create some script to automate it)
  2. Since we deploy harbor via ArgoCD, it constantly sees the configmap as out of sync, and will overwrite on next sync.
@Vad1mo
Copy link
Member

Vad1mo commented Feb 18, 2025

looks like a proxy or LB in between problem.

set your ingress to not buffer.

e.g.

 nginx.ingress.kubernetes.io/ssl-redirect: "true"
  nginx.ingress.kubernetes.io/proxy-body-size: "0"
  ingress.kubernetes.io/proxy-body-size: "0"
  nginx.ingress.kubernetes.io/proxy-buffering: "off"
  nginx.ingress.kubernetes.io/proxy-request-buffering: "off"

@tjerbaugh
Copy link
Author

Hey @Vad1mo we are using the Nginx server that is used when exposing via loadBalancerIP. Any thoughts on how we can accomplish the same thing in the values.yaml for the Nginx server?

@inzanez
Copy link

inzanez commented Feb 18, 2025

@Vad1mo just to understand that right: doing the push to Azure should not involve any proxy or LB in between, should it? Maybe on the Azure side...but on the Harbor end I would have expected a direct connection from the client doing the push replication to the Azure server?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants