Установка обратного прокси на Ubuntu

У меня есть две Ubuntu 16.04 (LTS) экземпляры на Amazon ec2. Они находятся на том же виртуальном частном облаке. Мне установили ЛАМПУ на обоих и хотел бы смочь назвать веб-страницу на одной от веб-страницы на другом. С CentOS я просто редактирую/etc/httpd/conf/httpd.conf и добавляю следующую строку

ProxyPass /app1/ http://10.0.1.27/

Затем после того, как я перезапускаю апача с

sudo service httpd restart

Я могу просто ввести следующий код на веб-странице текущего сервера

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

и веб-страница, Whatever.php, на сервере с частным IP 10.0.1.27, отображен на моем браузере, когда я нажимаю Безотносительно кнопки.

Однако Ubuntu не имеет/etc/httpd/conf/httpd.conf файла.

Я попытался настроить обратный прокси, как обрисовано в общих чертах здесь и ввел следующее в/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>

Я затем вхожу

sudo a2ensite proxy-ssl-host.conf

и доберитесь

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

Затем я вхожу

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

и доберитесь

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

Я затем вхожу

 sudo /etc/init.d/apache2 restart

Однако, когда я нажимаю Безотносительно кнопки, я теперь получаю 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
0
задан 6 November 2016 в 14:58

1 ответ

Вы можете дважды проверить, совпадают ли имя вашего конфигурационного файла и имя файла, которое вы используете в команде a2ensite. Например, если ваша конфигурация находится в /etc/apache2/sites-available/my_vhost.conf, команда типа a2ensite my-vhost.conf не будет работать.

Долгое время было хорошей практикой давать расширение vhost config .conf. В Apache 2.2 и более ранних версиях это было необязательно, поскольку в Apache 2.4 (который поставляется с Ubuntu 16.04) расширение .conf является обязательным.

После того, как вы включили (или отключили, в этом отношении) vhost, вам необходимо перезагрузить Apache.

1
ответ дан 28 September 2019 в 05:49

Другие вопросы по тегам:

Похожие вопросы: