[SERVER_PORT] when using proxy-server
I'm using Litespeed SE(as backend for scripts, on port 8080), nginx(as frontend proxy-server, on port 80) and PHP LSAPI, where each site(domain) has own vhost, php.ini, listener with own port(8081, 8082...)
And the problem is that some php-scripts(like phpBB3, phpMyAdmin) are using port(requesting it by _SERVER['SERVER_PORT']) in the redirection URL if it's not 80 by default - so URL redirects like http://mysite.com:8081/blah.php?=blah...... lead to an error.
So is there any way to return port 80(in _SERVER['SERVER_PORT']) dy default for all vhosts instead of port mentioned in the listener for this vhost(i.e. 8081, 8082, 8083...)? And does this have to be done on Litespeed, nginx or PHP level?
I will be glad to listen to any helpful solution.
Thanks in advance!
P.S. If it'll be useful, here's example nginx config, that I'm using for each vhost:
i have same problem
the apache setting:
the port always use listen port, not client port.
Anyone have a solution for this?
a few things to note:
1. LSWS Stand Edition only reads up to 5 vhosts from Apache httpd.conf. If you have more vhosts than that, you will be unable to server others vhosts.
2. make sure LSWS listener is on 127.0.0.1:8081 (or any IP:8081).
3. _SERVER['SERVER_PORT'] is PHP environment variable. in your case, it will reflect the port backend server LSWS listens on (i.e., 8081).
In my case.
When I use apache as a backend server. and nginx as proxy.
1. apache listener 8081, nginx listener 80.
2. apache settings
3. use mod_rpaf to set real ip from HTTP-X-REAL-IP
4. the php env $_SERVER['SERVER_PORT'] is 80
When I use litespeed as a backend server. and nginx as proxy.
1. litespeed listener 8081, nginx listener 80.
2. and litespeed set Use Client IP in Header for set real ip
3. UseCanonicalName and UseCanonicalPhysicalPort cannot work in litespeed.
4. the php env $_SERVER['SERVER_PORT'] always is 8081.
Can litespeed fix this problem in new version ?
Why not use LSWS as frontend instead?
|All times are GMT -7. The time now is 08:59 AM.|