My configuration is very simple :
To avoid duplicate content, I want to prevent user to go on my website by hitting directly apache (which is running on port 8080).
I have setup a Varnish server listening on port 80, so I want to use only this to avoid bot indexing the same website on different port which may cause duplicate content issue.
I'm using a dedicated server with Debian 6.
My virtual host looks like :
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName www.seek-team.com
DocumentRoot ...
DirectoryIndex app.php
<Directory "/var/www/seek-team.com/current/web">
Options -Indexes FollowSymLinks SymLinksifOwnerMatch
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
How to prevent user to directly access to the website using port 8080 ?
(but I still need varnish to hit apache correctly).
Thanks.
Best Answer
You could bind apache daemon to loopback interface and make Varnish to connect to
localhost:80
. Thus, varnish would be accessible to the world while apache would be accessible only locally.Varnish config:
Apache config: