Расположение http-сервера nginx включает неизвестную ошибку директивы - PullRequest
0 голосов
/ 17 мая 2019

my nginx.conf

worker_processes 1;
events {
    worker_connections 1024;
}

http {
    upstream app_servers {
        server 127.0.0.1:5000;
        server 127.0.0.1:5001;
    }

    server {
        listen 6200;
        server_name test;
        add_header X-GG-Cache-Status $upstream_cache_status;
        include rewrite.conf;
    }
}

и мой rewrite.conf в той же папке, что и

location = / {
    rewrite ^/some-custom-destination/?$ /destination/detail?id=33;
    proxy_pass http: //app_servers;
    proxy_intercept_errors on;
    error_page 400 404 /;
    error_page 500 502 503 504 /error.html;
    location = /error.html {
        root /etc/nginx/;
    }
}

когда я использую команду nginx -s reload для получения этой ошибки: nginx: [emerg] неизвестная директива "location" в /etc/nginx/rewrite.conf:1

Как я могу это исправить?

Помогите, пожалуйста. Спасибо.

1 Ответ

0 голосов
/ 17 мая 2019

Помимо пробела в вашей директиве proxy_pass, есть еще одна проблема с вашим блоком местоположения.

Из документации nginx о директиве местоположения nginx (http://nginx.org/en/docs/http/ngx_http_core_module.html#location), у вас не может быть вложенного местоположения внутри блока местоположения

“Also, using the “=” modifier it is possible to define an exact match of URI and location. If an exact match is found, the search terminates. For example, if a “/” request happens frequently, defining “location = /” will speed up the processing of these requests, as search terminates right after the first comparison. Such a location cannot obviously contain nested locations.”
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...