Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
litespeed_wiki:proxy:lsws-as-a-proxy-rewrite [2019/06/05 14:30]
Jackson Zhang [How to set up the server as a proxy via rewrite rules through .htaccess]
litespeed_wiki:proxy:lsws-as-a-proxy-rewrite [2021/08/09 14:00] (current)
Jackson Zhang [How to set up the server as a proxy via rewrite rules through .htaccess]
Line 1: Line 1:
 ====== How to set up the server as a proxy via rewrite rules through .htaccess ====== ====== How to set up the server as a proxy via rewrite rules through .htaccess ======
 +LiteSpeed 6.0 and above do support ''​ProxyPass''​ directive as well as rewrite rule-based proxy with ''​[P]''​ without setting up an external app.  ''​ProxyAddHeaders on|off''​ is also supported starting from 6.0.7.
  
-LiteSpeed ​doesn'​t ​support ''​ProxyPass'',​ ''​ProxyPassReverse''​ and other mod_proxy directives. However, you can use rewrite rules with ''​[P]''​ and set up an external app of the proxy in LSWS configuration to make it work fully.  ​+LiteSpeed ​5.4.x and earlier version do not support ''​ProxyPass'',​ ''​ProxyPassReverse''​ and other mod_proxy directives(starting from LSWS 5.3.6, ​ ''​ProxyPass''​ and-''​ProxyPassMatch''​ support for AJP backend have been added but not supported for non-AJP backend). However, you can use rewrite rules with ''​[P]''​ and set up an external app of the proxy in LSWS configuration to make it work fully.  ​
  
 ===== Add the remote proxy as an external app ===== ===== Add the remote proxy as an external app =====
Line 24: Line 25:
 5. After saving, restart LSWS 5. After saving, restart LSWS
  
-===== Use rewrite rules or mod_proxy directive (currently not supported) ​in .htaccess =====+===== Use rewrite rules in .htaccess =====
 ==== Example 1: Proxy to a site on the backend with the same domain name.==== ​ ==== Example 1: Proxy to a site on the backend with the same domain name.==== ​
     * In Shell or an Editor, edit the .htaccess file normally located in virtualhost document root and add the following:     * In Shell or an Editor, edit the .htaccess file normally located in virtualhost document root and add the following:
Line 55: Line 56:
  ​RewriteRule ^(.*)$ https://​127.0.0.1:​5000/​$1 [P,L]  ​RewriteRule ^(.*)$ https://​127.0.0.1:​5000/​$1 [P,L]
 </​code>​ </​code>​
 +
 +==== Example 4: cPanel webmail-like proxy ====
 +cPanel'​s ''​www.domain.com/​webmail''​ proxy loads one installation at ''<​nowiki>​http://​127.0.0.1/​rainloop/</​nowiki>''​.
 +
 +An Apache user without a control panel who wants to copy this behavior may achieve it with ''​ProxyPass'',​ like so:
 +  ProxyPass "/​webmail/"​ "​http://​127.0.0.1/​rainloop/"​
 +
 +But LiteSpeed doesn'​t support ''​ProxyPass''​ in this case. Instead, a LiteSpeed user may simply use the following rewrite rule in the virtual host's Apache configuration. No need to create an external app:
 +  RewriteRule /​webmail/​(.*) http://​127.0.0.1/​rainloop/​$1 [P]
 +
 ===== Testing ===== ===== Testing =====
 From the browser, ​ From the browser, ​
  • Admin
  • Last modified: 2019/06/05 14:30
  • by Jackson Zhang