Configurando o proxy reverso no Ubuntu

0

Eu tenho duas instâncias do Ubuntu 16.04 (LTS) no Amazon ec2. Eles estão na mesma nuvem privada virtual. Eu tenho LAMP instalado em ambos e gostaria de poder chamar uma página da web em um de uma página da web no outro. Com o CentOS, simplesmente edito /etc/httpd/conf/httpd.conf e anexe a seguinte linha

ProxyPass /app1/ http://10.0.1.27/

Depois de reiniciar o apache com

sudo service httpd restart

Eu posso simplesmente digitar o seguinte código, em uma página web do servidor atual

<li><a href="/app1/Whatever.php">Whatever</a></li>

e a página da web Whatever.php, no servidor com o IP privado 10.0.1.27, são exibidos no meu navegador quando clico no botão Whatever.

No entanto, o Ubuntu não possui um arquivo /etc/httpd/conf/httpd.conf.

Eu tentei configurar um proxy reverso conforme descrito aqui e digitou o seguinte no arquivo /etc/apache2/sites-available / proxy-host.

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html/
  ErrorLog ${APACHE_LOG_DIR}/error.log    
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  ProxyPreserveHost On
  # Servers to proxy the connection, or
  # List of application servers Usage
  ProxyPass /app/ http://10.0.1.27:8080/
  ProxyPass / http://10.0.1.110:8080/
  # ProxyPassReverse / http://server-ip-address:8080/
  ServerName localhost
</VirtualHost>

Eu entro em

sudo a2ensite proxy-ssl-host.conf

e obtenha

 ERROR: Site proxy-ssl-host does not exist!

Então eu entro

sudo a2ensite /etc/apache2/sites-available/proxy-host

e obtenha

ERROR: Site /etc/apache2/sites-available/proxy-host does not exist!

Eu entro em

 sudo /etc/init.d/apache2 restart

No entanto, quando clico no botão Seja qual for, agora recebo um erro 404

Not Found

The requested URL /app/Dracula.php was not found on this server.

Apache/2.4.18 (Ubuntu) Server at 52.207.143.84 Port 80
    
por OtagoHarbour 06.11.2016 / 12:58

1 resposta

1

Você pode querer verificar que o nome do seu arquivo de configuração e o nome do arquivo que você usa no comando a2ensite são idênticos. Por exemplo, se sua configuração estiver em /etc/apache2/sites-available/my_vhost.conf , um comando como a2ensite my-vhost.conf não funcionará.

Tem sido uma boa prática por muito tempo dar ao seu vhost a configuração da extensão .conf . Com o Apache 2.2 e versões anteriores, isso era opcional, já que o Apache 2.4 (que é fornecido com o Ubuntu 16.04) a extensão .conf é obrigatória.

Depois de ativar (ou desativado, para esse assunto) um vhost, você precisa recarregar o Apache.

    
por Henning Kockerbeck 06.11.2016 / 13:58