"HTTP proxy problem – Permission denied: proxy: HTTP: attempt to connect to "

Problem: Few days back we were working with Apache web server and were using it for proxy. We want to use HTTPD for directing requests to 8080 port where Apache tomcat was running. 

We configured the proxy settings successfully and it was working perfect. Following is the example of settings for proxy configuration: 

proxy_* modules should be loaded for correct execution of this setting. Check /etc/httpd/conf/httpd.conf file to verify whether modules are loaded or not (proxy_* modules should not be commented in the file) 

Add following lines in etc/httpd/conf/httpd.conf file : 

ProxyRequests Off 

ProxyPass /app1 http://127.0.0.1:8080/app1 
ProxyPassReverse /app1 http://127.0.0.1:8080/app1 

ProxyPass /app2 http://127.0.0.1:8080/app2 
ProxyPassReverse /app2 http://127.0.0.1:8080/app2 
one fine day we were unabe to access app1 and app2 using proxy, when we checked logs we found following error in error_log (/etc/httpd/logs/error_log) 

[error] (13)Permission denied: proxy: HTTP: attempt to connect to 127.0.0.1:8080 (127.0.0.1) failed 
[error] ap_proxy_connect_backend disabling worker for (127.0.0.1) 

Solution: Run following command 

# /usr/sbin/setsebool httpd_can_network_connect 1 
OR 
# /usr/sbin/setsebool httpd_can_network_connect true 
Or you can also set the security settings, Go to Security Level configurations and Change Tab to SELinux. And modify SELinux policy Check “Allow HTTPD scripts and modules to connect to the network” under HTTPD service. 

You can add ‘-P’ if you want this change to persist over system restarts, eg: 

/usr/sbin/setsebool -P httpd_can_network_connect 1 

 

 

参考地址:http://fan.iteye.com/blog/624445

你可能感兴趣的:(Permission)