C'est la première fois que j'essaie de faire fonctionner Varnish sur mon serveur dédié qui héberge deux domaines avec deux adresses IP distinctes. Ma configuration simplifiée est la suivante :
Configuration de Nginx
server {
listen ip-address-1:8080;
}
server {
listen ip-address-2:8080;
}
Vernis vcl
backend default {
.host = "127.0.0.1";
.port = "80";
}
Et dans le vernis conf j'ai défini
VARNISH_LISTEN_PORT=80
Varnish et Nginx (et php-fpm) fonctionnent correctement mais lorsque j'essaie d'accéder à mon site web, la page de bienvenue de nginx s'affiche. Les en-têtes ne contiennent pas le mot x-varnish. Il semble que pour une raison quelconque, varnish n'écoute pas le port 80. Je soupçonne que cela a à voir avec le fichier vcl où il écoute l'hôte 127.0.0.1. Je gère deux sites Wordpress. Où dois-je chercher pour que Varnish fonctionne correctement ?
A la vôtre, Adnan
EDITAR:
Nginx semble être dans 8080 correctement mais Varnish n'écoute pas la bonne adresse IP. Utilisation par Jens de plusieurs adresses IP de Varnish netstat -lnp
rendements :
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 46.105.40.241:8080 0.0.0.0:* LISTEN 21610/nginx
tcp 0 0 5.135.166.39:8080 0.0.0.0:* LISTEN 21610/nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 21610/nginx
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2544/named
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1195/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1184/sshd
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2544/named
tcp 0 0 46.105.40.241:443 0.0.0.0:* LISTEN 21610/nginx
tcp 0 0 5.135.166.39:443 0.0.0.0:* LISTEN 21610/nginx
tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 21350/varnishd
tcp 0 0 :::80 :::* LISTEN 21351/varnishd
tcp 0 0 ::1:53 :::* LISTEN 2544/named
tcp 0 0 :::22 :::* LISTEN 1184/sshd
tcp 0 0 ::1:953 :::* LISTEN 2544/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 2544/named
udp 0 0 ::1:53 :::* 2544/named
default.vcl
backend ikhebeenbril {
.host = "5.135.166.39";
.port = "8080";
}
backend sunculture {
.host = "46.105.40.241";
.port = "8080";
}
sub vcl_recv {
if (server.ip == "5.135.166.39") {
set req.backend = ikhebeenbril;
} else {
set req.backend = sunculture;
}
...
}
sub vcl_hash {
hash_data(server.ip);
if (req.http.host) {
hash_data(req.http.host);
}
hash_data(req.url);
if (req.http.Accept-Encoding) {
hash_data(req.http.Accept-Encoding);
}
return (hash);
}
Blocs de serveurs nginx
server {
listen 5.135.166.39:80;
listen 5.135.166.39:443 default ssl spdy;
server_name www.ikhebeenbril.nl;
}
server {
listen 46.105.40.241:80;
listen 46.105.40.241:443 default ssl spdy;
server_name www.thesunculture.com;
}