web-dev-qa-db-fra.com

nginx: le test du fichier de configuration /etc/nginx/nginx.conf a échoué (hôte introuvable en amont)

J'ai une boîte vagabonde qui fonctionne bien depuis quelque temps et aujourd'hui, pour une raison quelconque, le message suivant s'affiche lorsque j'essaie de redémarrer nginx.

nginx: [emerg] Host not found in upstream "www.myclass.com.192.168.33.10.xip.io" in /etc/nginx/conf.d/myclass.com.conf:19
nginx: configuration file /etc/nginx/nginx.conf test failed

Je n'ai rien changé moi-même à ma connaissance (à moins que Windows Update n'ait fait quelque chose d'étrange)

Quelqu'un peut-il suggérer comment rétablir le fonctionnement de nginx et me permettre de redémarrer le service nginx - il semblerait que je ne puisse pas interroger l'hôte ... des idées pourquoi?

Voici mon fichier de configuration nginx: fichier de configuration nginx

--Update--Exécutez ce qui suit pour vérifier ce qui est sur le port 80 .. (après avoir lu un autre article similaire) et je peux voir que le démon varnish est sur le port 80 .. est-ce la cause du problème ?? Tout conseil serait le bienvenu car je suis novice dans ce domaine

Sudo netstat -tlnp | grep 80

Mon fichier myclass.com.conf

server {
listen              80;
server_name         class.com.* www.class.com.*;

root /vagrant/www.class.com/public_html;
index index.php;

access_log /vagrant/log/class.com.access.log;
error_log  /vagrant/log/class.com.error.log error;

charset utf-8;

location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt  { access_log off; log_not_found off; }

error_page 404 /index.php;

location /socket.io {
    proxy_pass http://www.class.com.192.168.33.10.xip.io:8055;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
}

location / {
    try_files       $uri $uri/ @handler;
    expires         30d;
}

location  /. {
    return 404;
}

location @handler {
    rewrite / /index.php last;
}

location ~ .php/ {
    rewrite ^(.*.php)/ $1 last;
}

location ~ \.php$ {
    try_files                       $uri =404;

    expires                         off;

    fastcgi_read_timeout            900;
    fastcgi_index                   index.php;
    fastcgi_pass                    127.0.0.1:9000;
    fastcgi_param                   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param                   CLASS_ENVIRONMENT LYLE;
    include                         /etc/nginx/fastcgi_params;
}

gzip            on;
gzip_min_length 1000;
gzip_proxied    any;
gzip_types      text/plain application/xml text/css text/js application/x-javascript;

sendfile        off;

}

33
Zabs

Tout ce dont vous avez besoin est de mettre un résolveur capable de résoudre un tel nom de domaine:

resolver                  8.8.8.8 valid=300s;
resolver_timeout          10s;

Google DNS (8.8.8.8) peut le résoudre, mais il se résout en une adresse interne appartenant à la classe de réseau C.

$ Dig @8.8.8.8 www.class.com.192.168.33.10.xip.io
;; ANSWER SECTION:
www.class.com.192.168.33.10.xip.io. 299 IN A    192.168.33.10
13
Anatoly

Votre problème vient de cette ligne:

proxy_pass http://www.class.com.192.168.33.10.xip.io:8055;

Le serveur a probablement des difficultés à résoudre ce nom DNS. Vous pouvez également consulter https://serverfault.com/questions/341810/nginx-failing-to-resolve-nom-noms-sur-reload-even-if-they-do-resolve-by-the

10
Tejay Cardon

Un peu tard peut-être, mais il existe une solution simple. Changement

www.class.com.192.168.33.10.xip.io

dans

www.class.com.192.168.33.10.nip.io

et il devrait résoudre sur n'importe quel DNS.

1
Krumelur