
我在 Apache 2.2 中無法使用代理
當我嘗試啟動它時,出現Invalid command 'ProxyPass'
錯誤。這表明proxy_http_module
未加載。但是當我查看調試時,它似乎就在那裡。例如,
E:\Apache\bin>httpd -e debug
[Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module actions_module
...
[Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module proxy_ajp_module
[Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module proxy_http_module <-----
[Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module setenvif_module
....
[Fri Aug 21 15:48:55 2015] [debug] mod_so.c(246): loaded module jk_module
[Fri Aug 21 15:48:55 2015] [notice] Disabled use of AcceptEx() WinSock2 API
Syntax error on line 84 of E:/Apache/conf/extra/httpd-ssl.conf:
Invalid command 'ProxyPass', perhaps misspelled or defined by a module not included
in the server configuration
所以在我看來 proxy_http_module 正在載入。我不明白為什麼它不知道 ProxyPass 是什麼。
我確實已經在我的httpd.conf
文件中打開了它
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so # <--------------
#LoadModule rewrite_module modules/mod_rewrite.so
注意:我嘗試透過 SSL 連線來執行此操作,因此我httpd-ssl.conf
稍後也會在我的httpd.conf
檔案中加載
<IfModule ssl_module>
Include conf/extra/httpd-ssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
然後httpd-ssl.conf
我設定了一個 VirtualHost 條目
<VirtualHost _default_:443>
DocumentRoot "E:/Apache/htdocs"
### dummy IP
ServerName 127.12.34.56:443
ServerAdmin [email protected]
ErrorLog "E:/Apache/logs/error.log"
TransferLog "E:/Apache/logs/access.log"
#ProxyRequests Off
### It chokes on the following entry
ProxyPass / http://myfirewalledserver:80/
#ProxyPassReverse / http://myfirewalledserver:80/
</VirtualHost>
我在這裡錯過了什麼?
答案1
proxy_http模組需要代理人, 和代理通行證指令是在後者中定義的。
確保它也已加載。
感謝米林德·辛格
透過運行加載模組
Run sudo a2enmod proxy_http