34 | | This is mainly useful for servers where you already have a web server running. You can configure the existing web server to act as a [http://en.wikipedia.org/wiki/Proxy_server proxy] for Transmission. |
35 | | This way you can take advantage of all the features that your web server provides (authentication for example). |
36 | | |
37 | | First configure Transmission to allow web/rpc access from the web server IP. Then set up the web server to act as a proxy for Transmission. Below are example configurations for some of the well known web servers. |
38 | | |
39 | | === Lighttpd === |
40 | | |
41 | | Sample configuration for [http://www.lighttpd.net/ lighttpd]: |
42 | | |
43 | | {{{ |
44 | | server.modules += ( "mod_rewrite", "mod_auth", "mod_proxy" ) |
45 | | url.rewrite-once += ( "^/transmission[/]?$" => "/transmission/web" ) |
46 | | |
47 | | $HTTP["url"] =~ "^/transmission/" { |
48 | | auth.backend = "plain" |
49 | | auth.backend.plain.userfile = "/var/www/transmission/users" |
50 | | auth.require = ( |
51 | | "" => ( |
52 | | "method" => "digest", |
53 | | "realm" => "Transmission Web Interface", |
54 | | "require" => "valid-user" |
55 | | ) |
56 | | ) |
57 | | |
58 | | proxy.server = ( |
59 | | "" => ( |
60 | | ( |
61 | | "host" => "127.0.0.1", |
62 | | "port" => 9091 |
63 | | ) |
64 | | ) |
65 | | ) |
66 | | } |
67 | | }}} |
68 | | |
69 | | === Apache === |
70 | | |
71 | | For details please consult the apache mod_proxy documentation (apache version: [http://httpd.apache.org/docs/2.2/mod/mod_proxy.html 2.2] [http://httpd.apache.org/docs/2.0/mod/mod_proxy.html 2.0] [http://httpd.apache.org/docs/1.3/mod/mod_proxy.html 1.3]) |
72 | | |
73 | | {{{ |
74 | | # Redirect requests to /transmission to /transmission/web |
75 | | RewriteRule /transmission[/]?$ /transmission/web [R=permanent] |
76 | | |
77 | | # Forward all requests for /transmission to transmission-daemon |
78 | | ProxyPass /transmission http://127.0.0.1:9091/transmission |
79 | | ProxyPassReverse /transmission http://127.0.0.1:9091/transmission |
80 | | |
81 | | <Location /transmission> |
82 | | |
83 | | # !!! ONLY NEEDED FOR 1.5x AND EARLIER !!! |
84 | | # Work-around for libT's non-conformance to the HTTP/1.1 standard for Redirect |
85 | | # See http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30" |
86 | | # and http://trac.transmissionbt.com/ticket/1944 |
87 | | # Work-around no longer needed (see RewriteRule above) |
88 | | # ProxyPassReverse http://127.0.0.1:9091/transmission |
89 | | |
90 | | # Digest Auth enable |
91 | | # See http://httpd.apache.org/docs/2.2/howto/auth.html#gettingitworking |
92 | | Order Allow,Deny |
93 | | Allow from All |
94 | | AuthType Digest |
95 | | AuthName "Transmission Web Interface" |
96 | | AuthDigestProvider file |
97 | | AuthUserFile "/usr/local/etc/apache22/htdigest.user" |
98 | | Require valid-user |
99 | | |
100 | | # Make pictures, scripts and styling client-cacheable |
101 | | <IfModule expires_module> |
102 | | ExpiresActive On |
103 | | ExpiresByType image/gif A43200 |
104 | | ExpiresByType image/png A43200 |
105 | | ExpiresByType application/javascript A43200 |
106 | | ExpiresByType text/css A43200 |
107 | | </IfModule> |
108 | | |
109 | | </Location> |
110 | | }}} |
| 34 | To set up a web proxy refer to [WebProxy Web Proxy] |