nginx: [emerg] директива http не разрешена в /etc/nginx/conf.d/default.conf:1 - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь настроить сервер с помощью nginx и docker-compose, но я получаю эти ошибки каждый раз, когда пытаюсь 'docker-compose up':

webserver | 2019/06/10 13:04:16 [emerg] 1#1: "http" directive is not allowed here in /etc/nginx/conf.d/default.conf:1
webserver | nginx: [emerg] "http" directive is not allowed here in /etc/nginx/conf.d/default.conf:1

Я пытался обернуть все с помощью html {}, удаляя сервер {}, другой порт вместо 80 ...

nginx Dockerfile

FROM nginx

COPY default.conf /etc/nginx/conf.d/default.conf

default.conf

server {
    listen       80;
    server_name  localhost;

    location / {
        proxy_set_header  Host $host;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_pass http://app:8080/;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

1 Ответ

0 голосов
/ 10 июня 2019

Решено это путем перезаписи nginx.conf.

Dockerfile

FROM nginx

COPY default.conf /etc/nginx/conf.d/default.conf

default.conf

worker_processes 1;

events { worker_connections 1024; }

http {

    sendfile on;

    upstream app {
        server app:8080;
    }

    server {
        listen 8080;

        location / {
            proxy_pass         http://app;
            proxy_redirect     off;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header   X-Forwarded-Host $server_name;
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...