PBS Remote Sync Job failed: Missing Upgrade header

ctrlbrk

Member
Jan 17, 2022
48
3
13
48
Hi,

I am trying to setup a remote sync job with two PBS's. It was able to see the remote datastore, and I setup a new sync job.

When trying to run the job, I am receiving errors "Missing upgrade header". See screenshot:

1648400423657.png

I am not certain what this is referring to. At first thought, I looked at my reverse proxy (which this does need to go through to reach the remote) but it does have Upgrade set. Here is the portion of the reverse proxy config:

Code:
# Timeout if the real server is dead
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

# Proxy Connection Settings
proxy_buffers 32 4k;
proxy_connect_timeout 240;
proxy_headers_hash_bucket_size 128;
proxy_headers_hash_max_size 1024;
proxy_http_version 1.1;
proxy_read_timeout 240;
proxy_redirect  http://  $scheme://;
proxy_send_timeout 240;

# Proxy Cache and Cookie Settings
proxy_cache_bypass $cookie_session;
#proxy_cookie_path / "/; Secure"; # enable at your own risk, may break certain apps
proxy_no_cache $cookie_session;

# Proxy Header Settings
proxy_set_header Connection $connection_upgrade;
proxy_set_header Early-Data $ssl_early_data;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Real-IP $remote_addr;

The proxy config was just a guess, it could be completely unrelated.

Thanks for any guidance.
 
this has probably something to do with the reverse proxy, since the error message complains about the missing http2 upgrade header.
i cannot really say what is wrongly configured (nothing obvious from the given config), but the client must speak http2 with the server, otherwise the sync/backup/restore will not work
 
I'm joining in with the same problem, but behind Caddy instead of nginx.

(headers) {
header -x-powered-by
header -server
header Content-Security-Policy "frame-ancestors 'self'; upgrade-insecure-requests;"
header X-LB-Server {system.hostname}
header X-LB-Requested-Host {host}
header X-LB-Server {system.hostname}
header X-Forwarded-Port {http.request.port}
header X-Forwarded-For {http.request.header.CF-Connecting-IP}
header X-Real-IP {http.request.header.CF-Connecting-IP}
encode zstd gzip
}

pbs.x.dev, pbs.x.net {
import cloudflare
import headers
reverse_proxy https://192.168.2.58:8007 {
transport http {
tls_insecure_skip_verify
}
}
}

I am on the latest build of PBS. I would greatly appreciate a solution that will work with my architecture using a cloudflare tunnel.