HTTP rewriter for docker

I want to run a docker container, and somehow intercept/modify HTTP responses in the host. That means, basically take every HTTP response coming out of the container, and modify it before sending it back to the user. Is there a standard way to do this in docker?

  • Rails and postgres application to Docker compose v2, data strategy
  • Docker wordpress multisite with subdomains
  • Restrict memory across all containers
  • Wrap application deployables in Docker Image
  • docker's VOLUME isn't mounting host files
  • Rails and docker Postgress Too many connections
  • how to share folder between host os and docker container
  • Docker - Error response from daemon: client is newer than server
  • Run a docker hub container on bluemix without crashing (No valid host was found)
  • docker can I mount os from another container
  • What is the best way to run test in docker before deploying
  • Install Docker in container for use by GitLab CI build
  • 2 Solutions collect form web for “HTTP rewriter for docker”

    What you could do is create a reverse proxy.

    All communication in and out of the docker container is done indirectly, trough the proxy. So clients connect to the reverse proxy, the proxy requests the information from the process inside the container. The proxy will also handle the response to the client.

    If you simply want to change some headers, a default setup of an apache reverse proxy might be enough.
    See this link on how to set up a reverse proxy using apache:

    https://www.digitalocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension

    Other proxy technologies you might consider:
    – Nginx
    – HAProxy

    If you want to do more than just changing headers (please fill me in!) than you might have to write some code to handle that for you.

    Good luck! And let me know if you need more help!

    Something like mitmproxy. Docker does not change the approach.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.