svg broken !

Francis Daly francis at
Tue Mar 31 12:52:34 UTC 2020

On Mon, Mar 30, 2020 at 01:31:02PM +0500, shahzaib mushtaq wrote:

Hi there,

> PLease check this:

So, as I understand things:

* the report is that your particular client acts the way you want it
to when it requests the svg url from the "upstream" (origin) web server
* your particular client does not act the way you want it to when it
requests the equivalent svg url from the "edge" (nginx reverse proxy)
web server

The presumption is that this is the result of one single http request.

The intention now is to capture the responses to the two requests (to
origin and to edge) that the client makes, and to compare them to see
what is different. And then to see if those differences should affect
what the client does.

This "pastebin" link shows the "origin" response being HTTP/1.1, and the
"edge" response being HTTP/2.

The previous "imgur" links show the "origin" response and the "edge"
response both being HTTP/1.1.

Can you do whatever it takes to make the same request to both servers,
that matches what your client does, and copy-paste the full response
into the email?

Possibly "curl -i --http1.1" can mimic the client more closely?

If the response body is the 210 bytes shown in an earlier imgur link,
then just pasting it twice to confirm that nothing changed, should not
be a problem.

>From the first sets of data, I do see that the nginx response does not
include a Content-Length header, where the origin response does. And the
nginx response includes two Strict-Transport-Security headers, where
the origin response includes just the one. The two responses seem to
have different Cache-Control headers as well.

There are other differences, which you can see better than I can since
you have access to the extra data.

Does your client care about Content-Length? Or duplicate
Strict-Transport-Security headers?

Or it the error-output-picture due to the missing "xlink" namespace in
the svg file?

(That latter should not be the case, if you are using the same client to
access both urls -- it should be getting the same content in both cases.)

You may want to investigate why your nginx is sending duplicate headers.

Good luck with it,

Francis Daly        francis at

More information about the nginx mailing list