ReverseProxy não está funcionando no OSX El Capitan [closed]

2

Estou tentando acessar meu plex web ui por meio de um URL mais limpo. Atualmente, você pode acessá-lo no link . Eu quero que seja no link

Aqui está o que eu tenho,

marvin:~ Marvin$ httpd -v Server version:

 Apache/2.4.16 (Unix)
Server built:   Aug 22 2015 16:51:57
Server's Module Magic Number: 20120211:47
Server loaded:  APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FLOCK_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/usr"
 -D SUEXEC_BIN="/usr/bin/suexec"
 -D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"

Em

/private/etc/apache2/extra/httpd-vhosts.conf

Listen 80

    # Listen for virtual host requests on all IP addresses
    <VirtualHost *:80>
        ServerName marvin.boldlygoingnowhere.org
        ErrorLog "/private/var/log/apache2/marvin-error_log"
        CustomLog "/private/var/log/apache2/marvin-access_log" common
        ServerAdmin [email protected]
        ProxyRequests Off

        <Proxy http://marvin.boldlygoingnowhere.org/plex>

          Order deny,allow
          Allow from all

          ProxyPreserveHost off
          ProxyPass http://localhost:32400
          ProxyPassReverse http://localhost:32400

        </Proxy>
    </VirtualHost>

/private/etc/apache2/httpd.conf

Sem comentário

Include /private/etc/apache2/extra/httpd-vhosts.conf

e

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

Minha expectativa com essa configuração atual é conseguir alcançar o link , em vez disso, eu obtenho um 404.

Eu sou um engenheiro de software para dispositivos móveis, mas esta é uma das minhas primeiras aventuras em rede e está me pressionando muito.

    
por r2DoesInc 10.11.2015 / 23:15

2 respostas

1

Algumas coisas que você precisa ver aqui:

  1. Verifique se você está usando o arquivo de configuração correto. Quando eu instalei o apache 2.4 na minha máquina El Capitan, as configurações principais apontam para um diretório diferente /usr/local/etc/apache2/2.4/httpd.conf :

    $ httpd -V
    Server version: Apache/2.4.17 (Unix)
    Server built:   Nov 13 2015 19:31:42
    Server's Module Magic Number: 20120211:51
    Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
    Compiled using: APR 1.5.2, APR-UTIL 1.5.4
    Architecture:   64-bit
    Server MPM:     prefork
      threaded:     no
        forked:     yes (variable process count)
    Server compiled with....
     -D APR_HAS_SENDFILE
     -D APR_HAS_MMAP
     -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
     -D APR_USE_SYSVSEM_SERIALIZE
     -D APR_USE_PTHREAD_SERIALIZE
     -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
     -D APR_HAS_OTHER_CHILD
     -D AP_HAVE_RELIABLE_PIPED_LOGS
     -D DYNAMIC_MODULE_LIMIT=256
     -D HTTPD_ROOT="/usr/local/Cellar/httpd24/2.4.17"
     -D SUEXEC_BIN="/usr/local/Cellar/httpd24/2.4.17/bin/suexec"
     -D DEFAULT_PIDLOG="/usr/local/var/run/apache2/httpd.pid"
     -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
     -D DEFAULT_ERRORLOG="logs/error_log"
     -D AP_TYPES_CONFIG_FILE="/usr/local/etc/apache2/2.4/mime.types"
     -D SERVER_CONFIG_FILE="/usr/local/etc/apache2/2.4/httpd.conf"
    
  2. Para o proxy reverso, você pode simplesmente usar algo assim:

    <VirtualHost *:80>
      ServerName marvin.boldlygoingnowhere.org
      DocumentRoot /var/www/html
      ProxyPreserveHost On
      ProxyPass /plex http://127.0.0.1:32400
      ProxyPassReverse /plex http://127.0.0.1:32400
    
    </VirtualHost>
    
por 14.11.2015 / 05:24
0

Então, você está realmente tentando acessar o Plex Media Server com um URL personalizado. Como você pode ver, não é apenas um site, mas um servidor de mídia. De qualquer forma, aqui está um trecho de configuração simplificado que deve funcionar, de aqui :

<VirtualHost *:80>
    ServerName marvin.boldlygoingnowhere.org
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:32400/
ProxyPassReverse / http://127.0.0.1:32400/

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/web
RewriteCond %{HTTP:X-Plex-Device} ^$
RewriteRule ^/$ /web/$1 [R,L]

Verifique se todos os módulos apache necessários estão instalados e verifique seu log de erros do apache para solucionar problemas.

Parece haver uma solução melhor oferecida pelo Plex. Tudo que você precisa fazer é se registrar aqui: link . E você pode configurar seus registrantes de domínio para apontar marvin.boldlygoingnowhere.org para o link .

Atualização : A partir de uma investigação mais aprofundada, parece-me que sua entrada vhost é ignorada pelo apache. Além disso, quando você tenta acessar o link , ele fica na raiz do documento do apache. O que você pode fazer é tentar com um nome de servidor alternativo como plex.seudominio.com ou configurar seu vhost no diretório do usuário e ver o que acontece. A parte inicial do artigo aqui pode ajudá-lo: link

    
por 16.11.2015 / 21:10