I have looked at and tried using the ProxyPassReverse directive.

So the app communicates with the back end over port 2000.  Any requests the
app makes are sent to localhost:2000/foo to be processed by the back end.

Currently the relevant configuration is

ProxyPass /app http://localhost:2000
ProxyPassReverse /app http://localhost:2000

Basically, when the frontend of the app at localhost:2000 sends a GET
request, it's being sent as localhost:80/request rather than
localhost:2000/request.  Likewise, the remote IP address is shown as
localhost:80 rather than localhost:2000.

If I go straight to localhost:2000, the app works as intended and makes all
requests to localhost:2000/request while showing the remote IP to be
localhost:2000.

On Tuesday, August 25, 2015, Kurtis Rader <[email protected]> wrote:

> On Mon, Aug 24, 2015 at 8:30 PM, Steven Shi <[email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>> wrote:
>
>> I'm trying to proxy /app to localhost:2000 (where the app is hosted).
>> Unfortunately, whenever the app makes a GET/POST request, the port 2000 is
>> lost and the request is made to localhost:80 rather than localhost:2000.
>>
>> I feel as if the solution is something simple but I haven't been able to
>> discover it from three days of trial and error.
>>
>
> Too little data for a meaningful response. But have you looked at
> the ProxyPassReverse directive?
>
> If adding a ProxyPassReverse directive doesn't solve your problem you'll
> need to tell us about the relevant portions of your web server config and
> how you are testing the behavior. In particular it is not clear what you
> mean by "whenever the app makes a GET/POST request" since you also say "the
> app is hosted" at localhost:2000. In other words the flow of requests and
> responses is not clear from your description.
>
> --
> Kurtis Rader
> Caretaker of the exceptional canines Junior and Hank
>

Reply via email to