我打算使用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
还有什么需要添加到这部分配置中吗?
答案 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>