简体   繁体   中英

Apache ProxyPass all requests

I have Proxy Pass somewhat working. I am using it like so

ProxyPass     /chorus/   http://localhost:7070/
ProxyPassReverse /chorus/   http://localhost:7070/

This chorus folder does not exist and I am accessing through apache port 80 in the browser. Then it redirects to my application running on port 7070 which provides its webpage. The functionality within the webpage does not work though because the javascript starts requesting images and other info as /images/image1.jpg for example or /jsonrpc on apache and isn't going through the proxy. But on port 80 there is no /images because it's part of the :7070 application. If I do like below it will work too, but there are too many folders, I need a way to set everything returned from 7070 to be processed by apache as http:// localhost:7070/image/...

ProxyPass /jsonrpc   http://localhost:7070/jsonrpc
ProxyPass /image  http://localhost:7070/image

Basically the page for the app loads but the content does not, the app is requesting /jsonrpc which looks something like this (proxied version)

Remote Address:192.168.1.150:80
Request URL:http://192.168.1.150/jsonrpc?tm=1419196786193
Request Method:POST
Status Code:404 Not Found

When in the app directly without proxy it looks like this

Remote Address:192.168.1.150:7070
Request URL:http://192.168.1.150:7070/jsonrpc?tm=1419196894248
Request Method:POST
Status Code:200 OK

it's not really something you can fix within the Proxy module, other than by spelling out all possible paths, which you want to avoid; your alternatives are:

  • a. change the application and make it proxy aware so that
  • b. change the proxy so that your app lives on it's own vhost eg chorus.example.org

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM