У меня есть две 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
Вы можете дважды проверить, совпадают ли имя вашего конфигурационного файла и имя файла, которое вы используете в команде 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.