Very useful for understanding what is going on in nginx proxy.
pip3 install mitmproxy
Config: ~/.mitmproxy/config.yaml
Quick documentation:
location /app/ {
proxy_pass http://localhost:1234/app;
...
}
The initial response is ok, i.e. the page at /app is obtained.
But the other requests are not going through, i.e. /app/static/....
The page to be served is /app/#/login, but somehow that redirects to /app.
Thought it might be this issue: https://stackoverflow.com/questions/36688891/nginx-redirect-to-url-with-url
Inspection of response headers show in console: style not applied due to 'text/html' not a spreadsheet type, and strict MIME check is enabled., and under network: Status: 302 Found; Content-Type: text/html; for a .css file.
Tried adding MIME types: https://stackoverflow.com/questions/29573489/nginx-failing-to-load-css-and-js-files-mime-type-error
But ultimately I still don't know what request is being proxied.
Tried mirroring requests: http://nginx.org/en/docs/http/ngx_http_mirror_module.html A good article on what mirroring actually does. https://alex.dzyoba.com/blog/nginx-mirror/
Used mitmproxy, quite easy to setup, esp since backend is http and not https.
Notice how the URI forwarded is /appstatic/ and not /app/static/
Some lessons learnt?