nginx proxy_pass в флешку работает пока / static не может найти jquery - PullRequest
0 голосов
/ 16 мая 2018

Я новичок nginx (и apache и php ...)

У меня есть колба, которая отлично работает с:

http://127.0.0.1:5000
а также внешне от
http://myhost.com:5000

Я бы хотел использовать это с
myhost.com/rest_1
чтобы освободить место для других, например myhost.com/rest_2 .. 3 и т. д.
Приложение находится в
/opt/rest_1
и использует некоторые ресурсы из его / статической папки, такие как css и jquery.

У меня есть это
/etc/nginx/sites-available/rest_1.conf

server {
   listen 80;
   listen [::]:80;
   server_name myhost.com;
   server_name_in_redirect off;

   location /rest_1 {
            rewrite ^/rest_1(.*) /$1 break;
            proxy_pass http://127.0.0.1:5000/;
   }}

и это ссылка на сайты с включенным.
Перезапустите и перезагрузите nginx без ошибок.
Другие конфигурации являются настройками по умолчанию.

Когда я пытаюсь подключиться к

myhost.com/rest_1

Я вижу частично неполную страницу, просматривая журнал nginx:
/var/log/nginx/error.log:

*8 open() "/usr/share/nginx/html/static/w3.css" failed (2: No such file or directory), client: xx.xx.xx.xx, server: myhost.com, request: "GET /static/w3.css HTTP/1.1", host: "myhost.com", referrer: "http://myhost.com/rest_1"

Итак, мне ясно, что '/ usr / share / nginx / html /' получен откуда-то еще ... и должен также иметь правильное имя для этой части папки (я нуб !!)

Как сказать двигателю перенаправить на правильный путь на
/opt/rest_1
вернуть все / статические функции?

ОС: Ubuntu Server 16.04
nginx: 1.10.3

Спасибо.

1 Ответ

0 голосов
/ 16 мая 2018

Потому что вы не установили один ресурс местоположения для вашего статического контента.Ваше приложение ссылается на CSS из корневой папки, а не из rest_1.

Ваш вызов CSS был http://myhost.com/STATIC,, поэтому он не соответствует расположению, которое вы указали, и попробуйте внутри значения по умолчанию.

Таким образом, вы можете решить его в своем приложении или установитьэто в вашем nginx, как показано ниже:

   location /static {
       root /opt/rest_1;
   }
...