I found the answer , the forwarding headers need to be added to the reverse proxy config when using linux https://docs.inedo.com/docs/https-support-on-linux server { listen 80; listen [::]:80; server_name ""; return 301 https://`$http_host`$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; ssl_certificate /etc/ssl/cert/your_cert_com.crt; ssl_certificate_key /etc/ssl/cert/your_cert_com.key; server_name proget.domain.com; access_log /var/log/nginx/nginx.vhost.access.log; error_log /var/log/nginx/nginx.vhost.error.log; # Disable any limits to avoid HTTP 413 for large image uploads # ProGet requirement for VS to publish to ProGet client_max_body_size 0; # required to avoid HTTP 411: see Issue #1486 (https://github.com/dotcloud/docker/issues/1486) chunked_transfer_encoding on; location / { proxy_pass http://localhost:81; # local server proxy_http_version 1.1; proxy_cache_bypass $http_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header X-Forwarded-Port $server_port; } }