Iâve been using pound for several months and itâs been a good
relationship. Except, for some strange reason, I noticed that I was
getting development mode errors when it was running in production mode.
I thought there might be an issue with my mongrel cluster⌠but that
wasnât the case.
Let me give you a little background to how weâre encouraging customers
to handle their deployment on PLANET
ARGON.
Most of our hosting customers[^1^](#fn1){#fnref1 .footnote-ref
role=âdoc-noterefâ} have three tiers (unless you have your own static IP
address), one which we manage, two that you manage.
We handle the main web server/proxy server and proxy to your desired
load balancer/proxy/server, which is generally any of the following
options⌠depending on your preference.
Each customer has a unique proxy server port and a range of other ports
for their mongrel clusters.
So⌠the typical setup isâŚ
Apache(external:80) [proxies to]> Pound(localhost:8050) [proxies
to]> Mongrel::Cluster(localhost:10500-10503)
Well, when a request comes in through Apache, it gets passed off to
Pound and each tier has itâs own headers. By the time that it reaches
Mongrel, all the requests appear to be coming from localhost
.. not
the remote address of the person using your application. Notice nothing
but localhost
requests in your production.log? âŚthis is the reason.
So, what side-effects does this have? Well, aside from every request
looking local⌠Rails will, by default, output a normal
development-mode error message if the request is coming from
localhost
.