Nginx, Deluge, altere a porta para o padrão e use o subdomínio

1

Eu tenho esse domínio example.com .
Eu instalei o Wordpress usando o Nginx, e está tudo ok em example.com .
Eu instalo o Deluge, Deluge WebUI, a porta padrão é 8112 e example.com:8112 está tudo ok novamente também para a UI da Web do Deluge.
Eu não instalei nada para Python em Nginx para Deluge, Deluge tem seu próprio servidor web (eu acho). No entanto, quero poder usar o Deluge WebUI de subdomain.example.com , em vez de ( example.com:8112 ou subdomain.example.com:8112 ).
Não me importo muito se a outra solução continuar funcionando bem, prefiro não fazê-lo, mas o que é realmente importante para mim é entregar uma interface de usuário da Web do Deluge em funcionamento em subdomain.example.com
Por padrão, mesmo com o Nginx parado, o subdomain.example.com:8112 e o example.com:8112 funcionam e me redirecionam para o Deluge WebUI corretamente.
No entanto, eu sou incapaz de proxy Nginx com portas padrão (80/443) para Dilúvio escutando 8112.
Eu tentei muitas soluções com o Nginx, até consegui redirecionar para a página do Deluge, mas tudo que eu vejo é uma página em branco (embora inspecionando com a ferramenta dev eu vejo que existe o código de deluge por trás dele, e o URL dentro, como /somewhere/something.css estão funcionando também). Não é nem mesmo um problema de permissão, porque (depois de fazer uma cópia de backup para restaurá-los corretamente) eu até tentei dar 777 com -R no diretório web do dilúvio. A página em branco como antes, na verdade, tem alguns erros de javascript, é provável que isso está bloqueando, mas eles trabalham na porta 8112, então talvez algum javascript não está redirecionando para a porta correta?
Essa é uma das configurações do Nginx que eu tentei. Eu tentei muitos, eu não posso listar todas as possibilidades que tentei.
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; }
negrito é onde eu editei informações específicas do servidor

    
por Kunepro 23.03.2014 / 15:45

1 resposta

2

Parece que consegui fazê-lo funcionar seguindo estes passos:

Instalar pacotes: deluge deluge-webui deluged

Em seguida, inicie deluge-web :

# deluge-web ou # deluge-web --fork para que seja executado em segundo plano

Em seguida, configure NGinx da seguinte forma:

server {
   listen       80;
   server_name subdomain.example.com;

  location / {
     proxy_pass http://192.168.0.47:8112; # IP Address of your Server 
  }
}

Para https (porta 443), primeiro eu configurei deluge para usar https:

  • Eu criei um certificado auto-assinado seguindo as instruções aqui (etapa um a quatro)
  • Então, seguindo isto , copiei server.crt e server.key em código%
  • Abra $HOME/.config/deluge/ssl e configure assim:

    "pkey": "ssl/server.key",
    "cert": "ssl/server.crt",
    "https": true,
    
  • Em seguida, reinicie o $HOME/.config/web.conf

  • Finalmente, configure deluge-web :

    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
       }
    }
    

Note que parece que você não pode usar NGinx com deluge e http : você tem que escolher um ou outro.

    
por 23.03.2014 / 18:27

Tags