<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>It's not a blog, It's a feature &#187; apache</title>
	<atom:link href="http://javazquez.com/juan/category/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://javazquez.com/juan</link>
	<description>Juan A. Vazquez</description>
	<lastBuildDate>Wed, 01 Sep 2010 03:35:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Proxy/ReverseProxy and Apache2</title>
		<link>http://javazquez.com/juan/2008/08/16/proxyreverseproxy-and-apache2/</link>
		<comments>http://javazquez.com/juan/2008/08/16/proxyreverseproxy-and-apache2/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 14:37:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[configuration]]></category>

		<guid isPermaLink="false">http://javazquez.com/juan/?p=13</guid>
		<description><![CDATA[I recently configured Apache2 to be a ReverseProxy/Proxy and thought I would share my experiences while it was still fresh. Having never configured any kind of proxy, I found this webpage very informative. The scenario I would like to use for my example is that I have three internal web servers called Site Local IP Remote [...]]]></description>
			<content:encoded><![CDATA[<p>I recently configured Apache2 to be a ReverseProxy/Proxy and thought I would share my experiences while it was still fresh. Having never configured any kind of proxy, I found <a href="http://httpd.apache.org/docs/2.0/mod/mod_proxy.html">this webpage </a> very informative.  The scenario I would like to use for my example is that I have three internal web servers called</p>
<table>
<th>Site</th>
<th>Local IP</th>
<th>Remote IP</th>
<th>Port</th>
<tr>
<td>www.reallycoolsite.com</td>
<td>192.168.1.102</td>
<td>10.15.22.1</td>
<td>80</td>
</tr>
<tr>
<td>www.justcoolsite.com</td>
<td>192.168.1.102 </td>
<td> 10.15.22.2 </td>
<td>80</td>
</tr>
<tr>
<td>www.reallylamesite.com</td>
<td> 192.168.1.44</td>
<td> 10.15.22.3</td>
<td>80</td>
</tr>
</table>
<p>Alright&#8230;pretty straight forward right? If you are in a situation that I was when I started, you haven&#8217;t done much more than install apache from source and added a few modules here and there occasionally. The way I solved the problem was to create <a href="http://httpd.apache.org/docs/1.3/vhosts/name-based.html">name-based virtual host</a> for each of the servers.<br />
our example would look like</p>
<p><code><br />
#you can listen on specific ports for requests if you like<br />
#(ex->Listen 192.168.1.102:80)<br />
#I use the below statement to listen on 80 for all requests<br />
Listen *:80<br />
#Because we have multiple names mapped to same ip<br />
NameVirtualHost 192.168.1.102:80</p>
<p>&lt;VirtualHost 192.168.1.102:80 &gt;<br />
ServerName www.reallycoolsite.com<br />
ProxyRequests Off<br />
ProxyPass / http://10.15.22.1/<br />
ProxyReverse / http://www.reallycoolsite.com/<br />
ProxyPreserveHost  On<br />
ErrorLog                 reallycoolsite_error_log<br />
<a href="http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#customlog">CustomLog</a> reallycoolsite_access_logs<br />
&lt;/VirtualHost &gt;</p>
<p>&lt;VirtualHost 192.168.1.102:80 &gt;<br />
ServerName www.justcoolsite.com<br />
ProxyRequests Off<br />
ProxyPass / http://10.15.22.2/<br />
ProxyReverse / http://www.justcoolsite.com/<br />
ProxyPreserveHost  On<br />
ErrorLog                 justcoolsite_error_log<br />
<a href="http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#customlog">CustomLog</a> justcoolsite_access_logs<br />
&lt;/VirtualHost &gt;</p>
<p>&lt;VirtualHost 192.168.1.44:80 &gt;<br />
ServerName www.reallylamesite.com<br />
ProxyRequests Off<br />
ProxyPass / http://10.15.22.3/<br />
ProxyReverse / http://www.reallylamesite.com/<br />
ProxyPreserveHost  On<br />
ErrorLog                 reallylamesite_error_log<br />
<a href="http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#customlog">CustomLog</a> reallylamesite_access_logs<br />
&lt;/VirtualHost &gt;<br />
</code></p>
<p>If you receive errors during the communication of your proxy and your server, it may be a good idea to investigate if you have an http protocol error discussed at the bottom of this <a href="http://httpd.apache.org/docs/2.0/mod/mod_proxy.html">page</a><br />
The following two lines are pulled from the reference and fixed a problem I had with one of my IIS servers using SSL(for more info about the issue, go <a href="http://support.microsoft.com/kb/187504">here</a><br />
<strong><br />
SetEnv force-proxy-request-1.0 1<br />
SetEnv proxy-nokeepalive 1<br />
</strong><br />
My apache configuration file(httpd.conf) was the file I used to edit my settings.. Your file may be different depending on how new your apache version is. I found that some implementations called the configuration file apache.conf&#8230;. I hope this blog entry is helpful you, Happy Configuring!</p>
]]></content:encoded>
			<wfw:commentRss>http://javazquez.com/juan/2008/08/16/proxyreverseproxy-and-apache2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
