我有这个example.com
域名。
我使用 Nginx 安装了 Wordpress,一切正常example.com
。
我安装了 Deluge、Deluge WebUI,默认端口为 8112,example.com:8112
Deluge Web UI 也一切正常。
我没有在 Nginx 中为 Deluge 安装任何 Python 程序,Deluge 有自己的 Web 服务器(我认为)。
但是我希望能够从 中使用 Deluge WebUI subdomain.example.com
,而不是 (example.com:8112
或subdomain.example.com:8112
)。
我不太在意其他解决方案是否也能继续工作,我宁愿不这样做,但对我来说真正重要的是提供一个subdomain.example.com
默认工作的 Deluge Web UI,即使 Nginx 停止,subdomain.example.com:8112
和也能example.com:8112
正常工作并将我正确地重定向到 Deluge WebUI。
但是我无法将使用默认端口(80/443)的 Nginx 代理到在 8112 中监听的 Deluge。
我尝试了许多使用 Nginx 的解决方案,我甚至设法重定向到 Deluge 网页,但我看到的只是一个空白页(虽然用开发工具检查它,我发现它背后有 deluge 代码,里面的 url,如 /somewhere/something.css 也在工作)。这甚至不是权限问题,因为(在制作备份以正确恢复它们之后)我甚至尝试在 deluge web 目录中使用 -R 给出 777。和之前一样,空白页实际上有一些 javascript 错误,很可能是阻塞,但它们在端口 8112 上运行,所以可能是某些 javascript 没有重定向到正确的端口?
这是我尝试过的 Nginx 配置之一。我尝试了很多,我无法列出我尝试过的所有可能性。
server { listen 80; server_name subdomain.example.com; ## redirect http to https ## rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443; server_name subdomain.example.com; root /usr/share/pyshared/deluge/ui/web; index index.html; location / { proxy_pass httTHIS IS INSIDE A CODE WTH ps://localhost:8112; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass_header Set-Cookie; proxy_pass_header P3P; } location = /favicon.ico { log_not_found off; access_log off; } location ~* .(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } access_log /var/log/nginx/nginx.example.com.access.log; error_log /var/log/nginx/nginx.example.com.error.log; }
大胆的是我编辑服务器特定信息的地方
答案1
看来我已经能够让它工作了,按照以下步骤:
安装软件包:deluge
deluge-webui
deluged
然后开始deluge-web
:
# deluge-web
或者# deluge-web --fork
让它在后台运行
NGinx
然后像这样设置:
server {
listen 80;
server_name subdomain.example.com;
location / {
proxy_pass http://192.168.0.47:8112; # IP Address of your Server
}
}
对于 https (端口 443),首先我设置deluge
为使用 https :
- 我已经创建了一个自签名证书按照此处的说明操作(第一至第四步)
- 然后,按照此,我 复制
server.crt
并server.key
$HOME/.config/deluge/ssl
打开
$HOME/.config/web.conf
并设置如下:"pkey": "ssl/server.key", "cert": "ssl/server.crt", "https": true,
然后重启
deluge-web
最后设置
NGinx
:server { listen 443; server_name subdomain.example.com; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; location / { proxy_pass https://192.168.0.47:8112; # IP Address of your Server } }
请注意,似乎不能deluge
同时使用http
和https
:您必须选择其中一个。