Apache>代理>如何使用POST数据转发HTTP请求

时间:2016-01-08 08:43:32

标签: apache proxy

我打算使用Apache代理模块,即mod_proxy,将传入的HTTP POST请求从跳转机转发到局域网内的另一台服务器。

我成功转发了纯HTTP请求,但是对于POST数据,我不知道它为什么不起作用。

我在/etc/httpd/conf/httpd.conf中的设置类似于:

 ProxyRequests On
 ProxyVia On
 <Proxy *>
 Order deny,allow
 Allow from all
 </Proxy>
 ProxyPass /oozie/start_wf http://168.17.1.204:11000/oozie/v1/jobs?action=start
 ProxyPassReverse /oozie/start_wf http://168.17.1.204:11000/oozie/v1/jobs?action=start

还有什么需要添加到这部分配置中吗?

1 个答案:

答案 0 :(得分:0)

httpd.conf 文件上的以下条目应该可以使用。

Listen 80

<VirtualHost *:80>
  ProxyPreserveHost On
  ServerName mycompany.com
  ServerAlias mycompany.com  
  ProxyPass /appServer http://<application_server_ip>:<port>
  ProxyPassReverse /appServer http://<application_server_ip>:<port>
  Redirect "/login" "/appServer/<application_context_root>/login"
  Redirect "/logout" "/appServer/<application_context_root>/logout"
  <Directory "/var/www/html">
    order allow,deny
    allow from all
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^(.*) /index.html [NC,L]
  </Directory>
</VirtualHost>