[squid-users] Presenting an internal virtual host externally as domain root folder (Amos Jeffries)
Antony Stone
Antony.Stone at squid.open.source.it
Fri Aug 14 10:37:49 UTC 2015
On Friday 14 August 2015 at 10:57:52, Arjen van der Meer wrote:
> Good morning Amos,
>
> And thanks for your reply. But I think this is what I already have
> configured, unless you notice errors in the following configuration:
> acl wordpress urlpath_regex ^/wordpress
The above matches any URL having "/wordpress" immediately after the hostname
> cache_peer 192.168.1.150 parent 80 0 no-query originserver name=ubuntu
> cache_peer_access ubuntu deny wordpress
The above sends anything not starting with /wordpress to the Ubuntu machine.
> cache_peer 192.168.1.153 parent 80 0 no-query originserver name=diskstation
> cache_peer_access diskstation allow wordpress
> cache_peer_access diskstation deny all
The above sends the URLs starting with /wordpress to the Wordpress server, but
only those URLs.
> And this works fine, but it only makes www.arjenvandermeer.eu/wordpress
> available which is just part of what I want. What I'd like is this website
> to be externally available as www.arjenvandermeer.eu without rewrite or
> redirect,
What do you mean by "without rewrite or redirect"?
If you want a URL which does not contain "wordpress" to be served by a server
which only has content under the directory "wordpress", then you *have* to
have a rewrite somewhere along the way.
I would suggest creating two ACLs:
acl wordpress urlpath_regex ^/wordpress
acl notroot urlpath_regex ^/..*
That second URL will match any URL with one or more characters after the /
following the hostname (in other words, the *only* URLs it *won't* match are
either the hostname itself, or the hostname plus a / and then nothing
further).
Then you can use these to direct requests for /wordpress to the Wordpress
server, anything else except the 'null' URL to the Ubuntu server, and the null
entries to Wordpress (but you'll still have to have a redirect on the
Wordpress machine so that http://server ends up serving content from
http://server/wordpress):
cache_peer 192.168.1.150 parent 80 0 no-query originserver name=ubuntu
cache_peer_access ubuntu deny wordpress
cache_peer_access ubuntu allow notroot
cache_peer 192.168.1.153 parent 80 0 no-query originserver name=diskstation
cache_peer_access diskstation allow wordpress
cache_peer_access diskstation deny notroot
cache_peer_access diskstation allow all
> while having www.arjenvandermeer.eu/zm and several other sites
> still available on my Ubuntu system.
Regards,
Antony.
--
A user interface is like a joke.
If you have to explain it, it didn't work.
Please reply to the list;
please *don't* CC me.
More information about the squid-users
mailing list