HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Installation/Configuration (http://www.howtoforge.com/forums/forumdisplay.php?f=16)
-   -   Help Forwarding Incoming Requests to Other Internal Machines (not the web server) (http://www.howtoforge.com/forums/showthread.php?t=7529)

jkrell 18th October 2006 05:39

Help Forwarding Incoming Requests to Other Internal Machines (not the web server)
 
Hey all:

First off, I want to say that I am fairly well versed in computer hardware, networking, etc. but relatively new to Linux and very new to Web hosting. I just built a Web server, installed Fedora Core 5 and followed the excellent "How-To" on the "perfect setup." I now have ISPConfig installed and working great. Thanks to these excellent forums and some other great resources, I have my Web domain working just like I want it to.

The only thing left for me to do is to migrate one more thing from my Windows machine to my new Linux server so that the Windows machine can be shut down when not in use, and that is my setup for remote access to my TiVoWebPlus.

The way it is set up now, a incoming request to a certain domain (tivo1.xxxx.dyndns.com) is directed to my Windows machine. I have a program called OrenOSP (which as I understand it is based on Apache) set up to re-route these requests to my various TiVos (for instance, tivo1 would get rerouted to internal IP 192.168.1.121, and tivo 2 to .122, etc.). I know there has got to be a way to set up my Linux box to do this.

My first attempt was to simply set up co-domains where tivo1, tivo2, etc. were the hosts and were forwarded to 192.168.1.121, etc. While this works inside my network, it doesn't work remotely because, obviously, 192.168.1.121 is not an accessible IP from the outside world.

Any ideas as to how I would set this up? I only have one domain name, and would very much like to let my server handle these requests.

Thanks.

falko 19th October 2006 14:18

Quote:

Originally Posted by jkrell
The way it is set up now, a incoming request to a certain domain (tivo1.xxxx.dyndns.com) is directed to my Windows machine. I have a program called OrenOSP (which as I understand it is based on Apache) set up to re-route these requests to my various TiVos (for instance, tivo1 would get rerouted to internal IP 192.168.1.121, and tivo 2 to .122, etc.). I know there has got to be a way to set up my Linux box to do this.

If this OrenOSP is really running on Apache, it should not be difficult to move it to your new Linux system because you also have an Apache there. :)

jkrell 19th October 2006 18:20

Sorry -- I think I was unclear -- what I meant to say was that I was told when I installed Orenosp is that it is similar to Apache.

I know I have Apache on my server, just not sure yet how to tell it to do this. Unless someone here has seen a "How-To" on this, I'll have to keep looking at the multiple resources I have come across thus far.

falko 20th October 2006 15:55

Quote:

Originally Posted by jkrell
Sorry -- I think I was unclear -- what I meant to say was that I was told when I installed Orenosp is that it is similar to Apache.

Is this what you're currently using? http://www.orenosv.com/orenosp_en.html

You can set up reverse proxies with Apache as well: http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

jkrell 20th October 2006 17:39

Quote:

Originally Posted by falko
Is this what you're currently using? http://www.orenosv.com/orenosp_en.html

Yes.

Quote:

Originally Posted by falko
You can set up reverse proxies with Apache as well: http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

OK, I just worked on this, following the documentation you linked to above. I am able to get to the main index of my other servers (TivoWebPlus on my various TiVos), but any redirects screw me up.

The way TWP works, if you click on a link that operates a separate module, it redirects you to the relevant address (i.e., clicking on "User Interface" takes you to 192.168.1.121/ui).

The problem with the way Apache seems to do reverse proxies is that this causes a problem (i.e., clicking on "User Interface" takes you to www.mydomain.com/ui, which does not exist). Is there a way to tell Apache to stay on the servers behind the firewall? What use is this if it keeps pushing you back out to the public server?

falko 21st October 2006 21:26

What does your reverse proxy configuration look like now?

jkrell 23rd October 2006 06:04

Hey Falko:

OK, so I am working through this reverse proxy documentation. There's lots of conflicting info out there. I think I know how to configure httpd.conf (using the details found at http://www.apacheweek.com/features/reverseproxies). However, I am having trouble with getting libxml2.so.2 and/or mod_proxy_html.so to load at startup.

The error I get during startup says: wrong elf class ELFCLASS32

At first, I thought this was something to do with me miscompiling mod_proxy_html using apxs. The command I used was:

# apxs -c -I/usr/include/libxml2 -i mod_proxy_html.c

Now, I think, however, that I have installed the wrong version of libxml2. Is it possible I installed the 32-bit library and not the 64-bit?

jkrell 23rd October 2006 06:34

FYI, in addition to my post above, here's the relevant portion of httpd.conf:

Code:

LoadFile  libxml2.so
LoadModule proxy_html_module modules/mod_proxy_html.so

<IfModule mod_proxy.c>
ProxyRequests Off

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

ProxyPass /tivo1 http://192.168.1.121
ProxyPass /tivo2 http://192.168.1.122

ProxyHTMLURLMap http://192.168.1.121 /tivo1
ProxyHTMLURLMap http://192.168.1.122 /tivo2

<Location /tivo1/>
        ProxyPassReverse /
        SetOutputFilter        proxy-html
        ProxyHTMLURLMap        /        /tivo1/
        ProxyHTMLURLMap        /tivo1        /tivo1
        RequestHeader          unset        Accept-Encoding
</Location>
<Location /tivo2/>
        ProxyPassReverse /
        SetOutputFilter        proxy-html
        ProxyHTMLURLMap        /        /tivo2/
        ProxyHTMLURLMap        /tivo2        /tivo2
        RequestHeader          unset        Accept-Encoding
</Location>

</IfModule>

For libxml2.so, I have a link to the actual libxml2 file in /usr/lib/.

falko 24th October 2006 20:02

Can you try to use the full path to libxml2.so instead of
Code:

LoadFile  libxml2.so
?

How did you install libxml2? What's the output of
Code:

uname -m
?

jkrell 24th October 2006 20:33

Quote:

Originally Posted by falko
Can you try to use the full path to libxml2.so instead of
Code:

LoadFile  libxml2.so
?

The problem I had with the original setup is that httpd.conf sets the default directory to etc/httpd/. libxml2.so.2 is located in usr/lib/. So I had trouble with typing in that path because it wasn't recognizing the file. Should I have used ./usr/lib/libxml2.so.2 or something like that? Apologies -- I am new to this stuff so I don't know the proper conventions. I thought using a link would be just as effective. I would like to use the full path instead of a link, so if that's possible please do let me know.

Quote:

Originally Posted by falko
How did you install libxml2? What's the output of
Code:

uname -m
?

I cannot run this command at the moment because I am at work. I will run it tonight and post the output here. However, I believe installed libxml2 with the following command:

Code:

yum install libxml2 libxml2-devel
I assume yum figures out that I need 64-bit vs 32-bit, because I did not specifically tell it to install one vs the other.


All times are GMT +2. The time now is 18:19.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.