我建立了一個具有公用 IP 的 AWS EC2 實例,我們將其稱為 100.0.0.0。
我為安全群組新增了一條規則,以允許任何 IPv4 在連接埠 80 上傳入 HTTP 流量。
我添加到配置文件中:/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 - 未找到。 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