反向代理充當將客戶端請求轉發到其他伺服器的中介。它通常用於負載平衡、安全性、快取或將 HTTP 請求轉送到後端伺服器(例如,在 Node.js、Python、PHP 或其他伺服器上執行的應用程式)。
Apache 允許您使用其 mod_proxy 和 mod_proxy_http 模組進行設定。這是有關如何執行此操作的指南。
我們將設定 Apache 作為後端服務的反向代理,例如在連接埠 8080 上的本機上執行的伺服器。
1.啟用必要的模組
首先,您需要在 Apache 中啟用代理模組:
sudo a2enmod proxy sudo a2enmod proxy_http
重啟Apache以使模組生效:
sudo systemctl restart apache2
2.使用反向代理程式設定虛擬主機
現在編輯我們之前建立的虛擬主機的設定檔以新增代理指令。
開啟設定檔:
sudo your_editor /etc/apache2/sites-available/php.conf
在
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName php.info DocumentRoot /var/www/html/php # Reverse Proxy Directives ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ <Directory /var/www/html/php/> AllowOverride All Require all granted </Directory> # Logs for debugging ErrorLog ${APACHE_LOG_DIR}/php_error.log CustomLog ${APACHE_LOG_DIR}/php_access.log combined </VirtualHost>
這些指令執行以下操作:
3.重新啟動 Apache
進行更改後,再次重新啟動 Apache:
sudo systemctl restart apache2
4.測試反向代理
現在,當您造訪 http://php.info 時,Apache 會將要求轉送到監聽 http://localhost:8080 的後端。
以上是Apache 虛擬主機:新增反向代理的詳細內容。更多資訊請關注PHP中文網其他相關文章!