Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Not sure if this is possible with squid but here's the question.
My squid is listening to port 80. Due to certain network restrictions only traffic to destinations on port 80 is allowed. Now we have behind squid a webserver running on port 88.
Is it possible, and how to 'translate' request for webserver:80 to webserver:88 with squid?
I may be mistaking but I don't think Squid is your problem since you can perfectly tell Squid to send to the 'cache_peer' on port 88. If your webserver is listening on port 88 and your network policy prohibits that, then how can you get traffic through? By making an exclusion in your policy? By adapting your firewall configuration? If its prohibited on network traffic level, then how does anyone connect to that webserver?
Sorry, I didn't change the parent port in the example I posted since I figured you know Squid. Ok, let's break it apart a little bit for clarification.
Before the cache_peer you define Squid listening port like:
here you state that one of the servers to which the vhost can connect is 000.000.000.000 (IP address of the real webserver). The 'parent 80' tells Squid to connect on port 80 and originserver tells it that it's a destination server not something like a proxy.
With the name= statement you give it a name so you can refer to it in the acl and cache_peer_access statement.
Like I put it here, in the acl you give the site a name to (to refer in the access statement) like site_nameyougive.
dstdomain means that only those who request that particular domain name get connected to that particular webserver. If for example you type in a browser http://mything.domain.com then Squid will not connect you. On the other hand if you type in http://a_name_you_give.domain.com then you will get connected to the correct webserver on port 88.
Then the last line determines the access you give to the site and server. If you want everyone to be able to access it, then you just delete or comment it out and down the line where you configure your http_access rules you just put:
Code:
http_access allow all
That's the way I configured it to have 8 different webservers available and three of them do not connect on a standard port.
Well, your current location seems to be much warmer :-)
The squid-proxy is working fine only for sites without authentication. We have a few IIS servers (sorry, we do sometimes use ms) which require authentication. In the past we never had problems with this but now with the accel option things are working different. Well, I'm even more a newbie on squid than I thought :-)
Oh, believe me it is a lot warmer here then Belgium, and more important a lot dryer
All our servers require authentication, but none are IIS, I got spared of that disaster The sites we run that are still on Windows (for the time being) are all running Tomcat.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.