简体   繁体   中英

Redirection / Proxy of REST API in Apache2

I have REST API webservice running on server on address 127.0.0.1:8090 and Apache2 server running on 192.168.10.220, where I have frontend for my app.

In my website config I added lines:

RewriteEngine on
RewriteRule ^/api/ http://127.0.0.1:8090/

And when I'm openning address http://192.168.10.220/api in webbrowser I got redirection to 127.0.0.1:8090 and site is not found.

My question is how to redirect it that I will be able to open link for example http://192.168.10.220/api/login and It will return me result of http://127.0.0.1:8090/login , but 127.0.0.1:8090 address will be not seen in browser url.

Update 1:

I found solution, instead RewriteEngine, I should use this:

ProxyPass          /api http://127.0.0.1:8090/api
ProxyPassReverse   /api http://127.0.0.1:8090/api

And now I can use api at address http://192.168.10.220/api

But I have problem with second proxy:

ProxyPass          /raporty http://192.168.10.200:8080/ekoncept_raporty
ProxyPassReverse   /raporty http://192.168.10.200:8080/ekoncept_raporty

This time it's not api, but web application (reporting system, not mine). I can login and work, but some features I can't see or when I click button it redirects me to login page. I think it's something with coockies or etc.

What parameters should I use in my Proxy config to fix it??

Final configuration:

 ProxyPass          /api http://127.0.0.1:8090/api
 ProxyPassReverse   /api http://127.0.0.1:8090/api

 ProxyPass          /raporty http://192.168.10.200:8080/ekoncept_raporty
 ProxyPassReverse   /raporty http://192.168.10.200:8080/ekoncept_raporty
 ProxyPassReverseCookiePath /ekoncept_raporty /raporty

It was cookie problem as I thought. Adding this fixed problem:

ProxyPassReverseCookiePath /ekoncept_raporty /raporty

With API there isn't a problem like this, because it doesn't use cookies.

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