You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Terry Carmen <te...@cnysupport.com> on 2012/10/22 02:50:44 UTC

[users@httpd] Mixed VirtualDocumentRoot and VirtualHost directives

I have a very stable server that's been happily running a number of 
name-based virtual hosts with nothing more than:

UseCanonicalName Off
VirtualDocumentRoot /var/www/html/%0

This responds correctly to www.example.com, example.com, example.net and 
anything else defined in the VirtualDocumentRoot directories.

However now I'm running YaCY (P2P web search) which listens on port 8090 
and does not exist as a location in the filesystem, and I'd like Apache 
to proxy all requests for search.example.com to 127.0.0.1:8090.

I've tried adding the code below, however this breaks the 
VirtualDocumentRoot and the server no longer serves the other virtualhosts.


<VirtualHost *:80>
         ServerName search.example.com
         ServerAdmin webmaster@example.com

         ProxyRequests Off

         <Proxy *>
                 Order deny,allow
                 Allow from all
         </Proxy>

         ProxyPass / http://127.0.0.1:8090/
         ProxyPassReverse / http:/127.0.0.1:8090/
</VirtualHost>


Anybody have any suggestions?

Thanks!

Terry







---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


[users@httpd] SOLVED: Re: [users@httpd] Mixed VirtualDocumentRoot and VirtualHost directives

Posted by Terry Carmen <te...@cnysupport.com>.
On 10/21/2012 10:19 PM, Eric Covener wrote:
> On Sun, Oct 21, 2012 at 8:50 PM, Terry Carmen<te...@cnysupport.com>  wrote:
>> I have a very stable server that's been happily running a number of
>> name-based virtual hosts with nothing more than:
>>
>> UseCanonicalName Off
>> VirtualDocumentRoot /var/www/html/%0
>>
>> This responds correctly towww.example.com, example.com, example.net and
>> anything else defined in the VirtualDocumentRoot directories.
>>
>> However now I'm running YaCY (P2P web search) which listens on port 8090 and
>> does not exist as a location in the filesystem, and I'd like Apache to proxy
>> all requests for search.example.com to 127.0.0.1:8090.
>>
>> I've tried adding the code below, however this breaks the
>> VirtualDocumentRoot and the server no longer serves the other virtualhosts.
>>
>>
>> <VirtualHost *:80>
>>          ServerName search.example.com
>>          ServerAdminwebmaster@example.com
>>
>>          ProxyRequests Off
>>
>>          <Proxy *>
>>                  Order deny,allow
>>                  Allow from all
>>          </Proxy>
>>
>>          ProxyPass /http://127.0.0.1:8090/
>>          ProxyPassReverse /http:/127.0.0.1:8090/
>> </VirtualHost>
>>
> Add a vhost preceding this w/ your VirtualDocumentRoot -- it will be
> the default as first listed.  See apachectl -S output for hints.
>

apachectl -S was very helpful, thanks!

For some reason, it also needed a NameVirtualHost to stop complaining 
about overlaps. Not sure why.

In any case, here's the working config in case anybody ever needs it (or 
I need it again sometime) 8-)

Thanks again for the help!

Terry


ServerAdmin postmaster@example.com
ServerName www.example.com
NameVirtualHost *:80

<VirtualHost *:80>
         ServerName %0
        # ServerAdmin webmaster@example.com
         VirtualDocumentRoot /var/www/html/%0
</VirtualHost>


<VirtualHost *:80>
         ServerName search.example.com

         ProxyRequests Off

         <Proxy search.example.com>
                 Order deny,allow
                 Allow from all
         </Proxy>

         ProxyPass / http://127.0.0.1:8090/
         ProxyPassReverse / http:/127.0.0.1:8090/
</VirtualHost>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] Mixed VirtualDocumentRoot and VirtualHost directives

Posted by Eric Covener <co...@gmail.com>.
On Sun, Oct 21, 2012 at 8:50 PM, Terry Carmen <te...@cnysupport.com> wrote:
> I have a very stable server that's been happily running a number of
> name-based virtual hosts with nothing more than:
>
> UseCanonicalName Off
> VirtualDocumentRoot /var/www/html/%0
>
> This responds correctly to www.example.com, example.com, example.net and
> anything else defined in the VirtualDocumentRoot directories.
>
> However now I'm running YaCY (P2P web search) which listens on port 8090 and
> does not exist as a location in the filesystem, and I'd like Apache to proxy
> all requests for search.example.com to 127.0.0.1:8090.
>
> I've tried adding the code below, however this breaks the
> VirtualDocumentRoot and the server no longer serves the other virtualhosts.
>
>
> <VirtualHost *:80>
>         ServerName search.example.com
>         ServerAdmin webmaster@example.com
>
>         ProxyRequests Off
>
>         <Proxy *>
>                 Order deny,allow
>                 Allow from all
>         </Proxy>
>
>         ProxyPass / http://127.0.0.1:8090/
>         ProxyPassReverse / http:/127.0.0.1:8090/
> </VirtualHost>
>

Add a vhost preceding this w/ your VirtualDocumentRoot -- it will be
the default as first listed.  See apachectl -S output for hints.


-- 
Eric Covener
covener@gmail.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org