Я создал экземпляр AWS EC2 с публичным IP-адресом, назовем его 100.0.0.0.
Я добавил правило для группы безопасности, разрешающее входящий HTTP-трафик на порт 80 для любого IPv4.
Я добавил в файл конфигурации:/etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://www.example.com/
ProxyPassReverse /test/ http://www.example.com/
</VirtualHost>
Когда я пошел вhttp://100.0.0.0/тест/, в моем браузере отображается 404 - Not Found. В error_log ничего нет.
Я также попробовал это с локальным хостом
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://localhost:8080/
ProxyPassReverse /test/ http://localhost:8080/
</VirtualHost>
&
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://127.0.0.1:8080/
ProxyPassReverse /test/ http://127.0.0.1:8080/
</VirtualHost>
Что дало мне в логах:
В подключении отказано: AH00957: http: попытка подключения к 127.0.0.1:8080 (127.0.0.1) не удалась
AH01114: HTTP: не удалось установить соединение с бэкэндом: 127.0.0.1, реферер:http://100.0.0.0/
Так как это создано с помощью AWS, я также попытался создать исходящее правило, где я разрешил все для IPv4. Я не уверен, нужно ли мне устанавливать еще какие-либо правила в AWS, или я пропустил шаг при настройке прокси-сервера.
Смотрите документ, на который я подписан:https://linuxtechlab.com/apache-as-reverse-proxy-centos-rhel/
Я также ссылался:https://httpd.apache.org/docs/2.4/howto/reverse_proxy.htmlчто привело меня кwww.example.comпример.
netstat -aon | grep 8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 22304
TCP [::]:8080 [::]:0 LISTENING 22304
TCP [::1]:8080 [::]:0 LISTENING 25212