c'est mon premier déploiement d'application web et je rencontre toutes sortes de problèmes.
Je vais actuellement pour une implémentation nginx + gunicorn pour l'application Django, mais surtout cette question concerne les configurations nginx. Pour certains contextes, nginx recevrait des connexions et un proxy vers le serveur local gunicorn.
dans les configurations nginx, où il est dit server_name
que je dois en fournir un? Je n'ai pas l'intention d'utiliser des noms de domaine d'aucune sorte, uniquement via l'IP externe de mon réseau (il est statique) et le numéro de port à écouter.
Mon désir est que lorsque j'accède à quelque chose comme http://xxx.xxx.xxx.xxx:9050
je puisse obtenir le site.
Voici l'exemple de code sur lequel je baserai les configurations pour référence.
server {
listen 80;
server_name WHAT TO PUT HERE?;
root /path/to/test/hello;
location /media/ {
# if asset versioning is used
if ($query_string) {
expires max;
}
}
location /admin/media/ {
# this changes depending on your python version
root /path/to/test/lib/python2.6/site-packages/django/contrib;
}
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://localhost:8000/;
}
# what to serve if upstream is not available or crashes
error_page 500 502 503 504 /media/50x.html;
}
nom du serveur _; n'est pas un caractère générique voir ici:
http://blog.gahooa.com/2013/08/21/nginx-how-to-specify-a-default-server
il suffit de spécifier la directive default_server pour l'accès IP uniquement (voir http://nginx.org/en/docs/http/request_processing.html )
la source
server_name _;
s'agit d'une non-correspondance.Si vous souhaitez que votre application réponde sur le port 9050 sans nom d'hôte spécifique, vous pouvez simplement ignorer nom_serveur, ce n'est pas obligatoire car Nginx résout d'abord l'entrée d'écoute puis le nom_serveur s'il est présent:
Plus de détails ici: Nginx nom_serveur et comment cela fonctionne
la source