Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
litespeed_wiki:proxy:lsws-as-a-proxy-rewrite [2018/07/05 22:07] qtwrk [Use rewrite rules or mod_proxy directive in .htaccess] |
litespeed_wiki:proxy:lsws-as-a-proxy-rewrite [2021/03/30 14:44] 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. | ||
- | LiteSpeed works with Apache mod_proxy directives, but there is an extra step to add 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 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, |