Frage Die nginx Server-Direktive ist hier nicht erlaubt


Ich weiß, dass es da draußen Betrügereien gibt, aber ich kann das in meiner Situation nicht lösen.

Ich folge einem Artikel über die Einrichtung von Nginx als Reverse-Proxy mit Apache.

Und ich bekomme diesen Fehler:

nginx: [emerg] "server" directive is not allowed here in 
       /etc/nginx/v.hosts/mydomain.com.conf:3
nginx: configuration file /etc/nginx/nginx.conf test failed

Meine /etc/nginx/nginx.conf sieht aus wie das:

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream; 
    access_log  /var/log/nginx/access.log  main;  
    charset   utf-8;
    keepalive_timeout  65;
    server_tokens       off;
    tcp_nopush          on;
    tcp_nodelay         off;

    server {
          listen 80;
          server_name  _;          
          root   /usr/share/nginx/html;
          index  index.html index.htm;     
       }
    }
include  v.hosts/*.conf;

Und das habe ich /etc/nginx/v.hosts/mydomain.com.conf sieht aus wie das:

server {
      listen 80;
      server_name  mydomain.com;

       access_log  off;
       error_log off;

      location / {
        proxy_pass http://127.0.0.1:81;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        Host            $host;
        proxy_redirect          off;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 90;
        proxy_send_timeout 90;
        proxy_read_timeout 90;
        client_max_body_size 10m;
        client_body_buffer_size 128k;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
      }
 }

Hinweise und Hilfe werden sehr geschätzt :)


36
2018-01-12 17:46


Ursprung


Entfernt alle Links, da sie jetzt tot sind. - Sven♦


Antworten:


Das Problem ist hier:

    }
include  v.hosts/*.conf;

Du hast die geschlossen http blockieren vor dem include Anweisung, womit die Konfiguration beendet wird. Aus diesem Grund funktioniert keine der enthaltenen Dateien.

Um das Problem zu beheben, include die Dateien innerhalb der http Block:

    include  v.hosts/*.conf;
}

35
2018-01-12 17:57