I've been struggling for a while to get Transmission up and running on my system the way I want and I believe I am nearly there. I decided that I wanted to use Apache to proxy over the to Transmission WebUI for a couple reasons:
1. Can use a central place for authentication (via Apache)
2. Can use https and SSL if apache is handling the connection
The way I access transmission is by going to "https://transmission.internal.XYZ.com"
When I do that things seem to work correctly in that I can see the web interface, but I get an immediate "Connection Failed: Could not connect to the server. You may need to reload the page to reconnect" error.
I ran "ps aux" on my system and "service transmission-daemon status", and everything seems to indicate that transmission is indeed running. I also checked the transmission.log file and didn't see any errors.
I was wondering if anyone had any idea what might be going, any help would be greatly appreciated. This is a persistent problem, not just an initial error. Because of this, I am basically unable to use Transmission via the WebUI.
I'll go ahead and give you the details of my system to see if anything jumps out:
OS: Centos 6.2 x64
Apache version: 2.2.15
Transmission version: 2.5.0
Below are my settings.json, and relevant parts of my httpd.conf and ssl.conf files
Here is my settings.json file:
Code: Select all
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "127.0.0.1",
"bind-address-ipv6": "::",
"blocklist-enabled": true,
"blocklist-url": "http://www.example.com/blocklist",
"cache-size-mb": 4,
"dht-enabled": true,
"download-dir": "/mnt/downloads/COMPLETE/unsorted",
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 0,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/mnt/downloads/torrent/incomplete",
"incomplete-dir-enabled": false,
"lpd-enabled": false,
"message-level": 2,
"peer-congestion-algorithm": "",
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"prefetch-enabled": 1,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": false,
"rpc-bind-address": "127.0.0.1",
"rpc-enabled": true,
"rpc-password": "{1ccecc384ddc9e2da8e01ff18849230288aae366Hkk9zYh6",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "",
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": true,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-slots-per-torrent": 14,
"utp-enabled": true
}
Code: Select all
<VirtualHost *:80>
ServerName transmission.internal.XYZ.com
ServerAlias http://transmission.XYZ.nterupt.com
Redirect permanent / https://transmission.internal.XYZ.com/
</VirtualHost>
<VirtualHost *:443>
ServerName transmission.internal.XYZ.com
ServerAlias https://transmission.internal.XYZ.com
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
SSLEngine On
SSLProxyEngine On
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:9091/transmission/web/
ProxyPassReverse / http://localhost:9091/transmission/web/
<Location />
Order deny,allow
Allow from all
</Location>
</VirtualHost>
Code: Select all
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT