여기서 nginx 서버 지시어는 허용되지 않습니다


44

나는 이것의 속임수가 있다는 것을 알고 있지만 내 상황에서 이것을 해결할 수없는 것 같습니다.

아파치와 함께 리버스 프록시로 nginx를 설정하는 방법에 대한 기사를 따르고 있습니다.

그리고 나는이 오류를 얻는다 :

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

/etc/nginx/nginx.conf모습은 다음과 같습니다.

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;

그리고 이것은 /etc/nginx/v.hosts/mydomain.com.conf다음과 같습니다.

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;
      }
 }

단서와 도움이 잘 될 것입니다 :)


링크가 모두 죽었으므로 모든 링크가 제거되었습니다.
Sven

답변:


39

문제는 여기 있습니다 :

    }
include  v.hosts/*.conf;

지시문 http앞 의 블록 을 닫아 include구성을 종료했습니다. 이것이 포함 된 파일이 작동하지 않는 이유입니다.

문제를 해결하기 위해 블록 include내의 파일 http:

    include  v.hosts/*.conf;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.