2015-01-15 21 views
0

所以,我要的是,當客戶端發送請求Apache HTTP服務器應該傳遞到後端服務器,然後當反應涉及到Apache HTTP服務器,它應該使用一套處理程序修改在服務器中並將響應發送回客戶端。如何集一集的處理器,以代理請求

<VirtualHost *:80> 

      #ServerName www.example.com 
      #ProxyPreserveHost On 
      ServerName localhost 
      ServerAdmin [email protected] 
      DocumentRoot /var/www/test.com 

      ProxyPass/http://0.0.0.0:8080/user/userlist 
      ProxyBadHeader Ignore 
      <Location/> 

        SetHandler proxyMod 
        #ProxyPassReverse http://0.0.0.0:8080/user/userlist 
      </Location> 

      ErrorLog ${APACHE_LOG_DIR}/error.log 
      CustomLog ${APACHE_LOG_DIR}/access.log combined 

    </VirtualHost> 

但它不會發送到設置處理程序。只是傳遞給客戶端後端服務器提供的任何內容。

+0

這是否有助於http://httpd.apache.org/docs/2.4/mod/mod_proxy.html#handler? –

+0

我試過,但我沒有得到如何使用假如你能解釋一下這將是對我非常有幫助。 – GPrathap

回答

0

是實際上我的理解是完全錯誤的。如果你想這個國王的事情,你應該使用的FastCGI或CGI(http://www.fastcgi.com/drupal/),你可以使用反向代理服務器來處理這個問題。這裏是示例Apache虛擬主機配置文件

 <VirtualHost *:443> 
    # The ServerName directive sets the request scheme, hostname and port that 
    # the server uses to identify itself. This is used when creating 
    # redirection URLs. In the context of virtual hosts, the ServerName 
    # specifies what hostname must appear in the request's Host: header to 
    # match this virtual host. For the default virtual host (this file) this 
    # value is not decisive as it is used as a last resort host regardless. 
    # However, you must set it for any further virtual host explicitly. 
    ServerName localhost 
    #ProxyPreserveHost On 
    ProxyRequests off 
    LogLevel debug 

    SSLEngine On 
    SSLCertificateFile /etc/apache2/keys/ca.crt 
    SSLCertificateKeyFile /etc/apache2/keys/ca.key 
    SSLProxyEngine On 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/test.com 

    ProxyPass /apimanager/user/signup https://localhost/api/routing_index 
    ProxyPassReverse /apimanager/user/signp https://localhost/api/routing_index 



    ScriptAlias /api/ /usr/local/apache2/cgi-bin/ 
    <Directory "/usr/local/apache2/cgi-bin/"> 
      AllowOverride None 
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch 
      Require all granted 
    </Directory> 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

    # For most configuration files from conf-available/, which are 
    # enabled or disabled at a global level, it is possible to 
    # include a line for only one particular virtual host. For example the 
    # following line enables the CGI configuration for this host only 
    # after it has been globally disabled with "a2disconf". 
    #Include conf-available/serve-cgi-bin.conf 
</VirtualHost> 

    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet