I have multiple nodejs web application servers over HTTP and I need to certify the requests sent to those servers. I was thinking about using nginx as a proxy for the requests, certifying only the nginx server with an SSL certificate so that data/images sent back to the client are served over HTTPS.
This is the structure I thought about:
+--- app1 ---> node.js on ip:10001 | client --> https --> nginx --> http --- app2 ---> node.js on ip:10002 | +--- app3 ---> node.js on ip:10003 My concern is about the response object from the proxied request. Webkit based browsers and Safari are warning me that my application is in HTTPS but serving content over HTTP (mixed content warning).
By certifying the proxy server, would my response to the client be validated as HTTPS or as HTTP?
My nginx proxy would have a certified subdomain like proxy.domain.com, so requests would be done, as an example, like "https://proxy.domain.com:10001". The request is done over HTTPS to the proxy, but the returned server content is over HTTP. How would the proxy enact on such returned contents?
Would it apply SSL encryption, hence sending back the resource like so: "https://proxy.domain.com:10001/resource.png"
Thanks in advance everyone