Size: a a a

2020 June 01

VZ

Vladimir Zhurkin in nginx_ru
или сделать так , что бы оно понимало хедер location, тогда можно использовать proxy_redirect
источник

AG

Andrey Golodyaev in nginx_ru
Может проще rewrite
источник

VZ

Vladimir Zhurkin in nginx_ru
так rewrite не спасет
источник

V

Vlad in nginx_ru
Vladimir Zhurkin
или сделать так , что бы оно понимало хедер location, тогда можно использовать proxy_redirect
Хм, это вообще хорошая идея проксировать в / фронт, а статику в /static?
источник

VZ

Vladimir Zhurkin in nginx_ru
ну если вы знаете как сделать то скажите
источник

AG

Andrey Golodyaev in nginx_ru
Прям в доке пример есть
источник

VZ

Vladimir Zhurkin in nginx_ru
Vlad
Хм, это вообще хорошая идея проксировать в / фронт, а статику в /static?
ну статику мы отдельно выносим Нет проблем
источник

VZ

Vladimir Zhurkin in nginx_ru
Andrey Golodyaev
Прям в доке пример есть
ну покажите
источник

VZ

Vladimir Zhurkin in nginx_ru
я пробовал ```
location  /foo {
 rewrite /foo/(.*) /$1  break;
 proxy_pass         http://localhost:3200;
 proxy_redirect     off;
 proxy_set_header   Host $host;
}
```
источник

VZ

Vladimir Zhurkin in nginx_ru
не прокатило
источник

VZ

Vladimir Zhurkin in nginx_ru
те он вырежет туда и там все ок , а вот обратно только sub_filter юзать
источник

VZ

Vladimir Zhurkin in nginx_ru
но если у вас вот прям железобетонный раб метод то делитесь Есть куча беков , которые кроме / ничего не понимают
источник

АП

Александр Подоплелов... in nginx_ru
Vladimir Zhurkin
первый location /name — работает и как /name и как /name/, но есть одна маленькая деталь — он также будет хавать например /name1, /namebcd и т.д.
я точно не помню, возможно да
но на всякий вот тут описан алгоритм анализа location:
https://nginx.org/ru/docs/http/ngx_http_core_module.html#location
источник

AN

Anton Noginov in nginx_ru
Vlad
у меня приложение ничего не знает о префиксе api, а proxy_pass передает в приложение урл с /api
в итоге приложение дает /api/docs 404
Вам нужно убрать /api/ из проксируемого URL?

location ~ ^/api/(.+)$ { 
 proxy_pass http://api/$1 ;
}


Если у вас там именно API.
источник

AG

Andrey Golodyaev in nginx_ru
> обратно
не понял про обратно
источник

АН

Андрей Новик... in nginx_ru
Ребята, нужна помощь.
Делаю переход, работа в нём должна проходить в другой директории, немного костыльно.

Локейшен из основной секции сервер слушает /help и проксирует на определённый порт
Дальше второе тело серв:

server {
listen 667 ssl;

server_name _;
root /var/www/html/sites/help/public/;
  include conf.d/default_ssl.include;

   location / {
 index index.php
       try_files $uri $uri/ /index.php$is_args$args;
   }

   location ~ \.php$ {
    include fastcgi_params;
    fastcgi_intercept_errors on;
    fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
   }
}


Но прилетает ошибка, в которой сказанно, что он путь, который должен по index.php смотреть - пытается найти физически. Что я забыл дописать или чего не увидел?

2020/06/01 15:00:32 [error] 18720#18720: *7 open() "/var/www/html/sites/help/public/api/v1/companies" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET //api/v1/companies HTTP/1.1", host: "******"
источник

V

Vlad in nginx_ru
Anton Noginov
Вам нужно убрать /api/ из проксируемого URL?

location ~ ^/api/(.+)$ { 
 proxy_pass http://api/$1 ;
}


Если у вас там именно API.
Да, то что нужно, спасибо
источник

VZ

Vladimir Zhurkin in nginx_ru
Андрей Новик
Ребята, нужна помощь.
Делаю переход, работа в нём должна проходить в другой директории, немного костыльно.

Локейшен из основной секции сервер слушает /help и проксирует на определённый порт
Дальше второе тело серв:

server {
listen 667 ssl;

server_name _;
root /var/www/html/sites/help/public/;
  include conf.d/default_ssl.include;

   location / {
 index index.php
       try_files $uri $uri/ /index.php$is_args$args;
   }

   location ~ \.php$ {
    include fastcgi_params;
    fastcgi_intercept_errors on;
    fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
   }
}


Но прилетает ошибка, в которой сказанно, что он путь, который должен по index.php смотреть - пытается найти физически. Что я забыл дописать или чего не увидел?

2020/06/01 15:00:32 [error] 18720#18720: *7 open() "/var/www/html/sites/help/public/api/v1/companies" failed (2: No such file or directory), client: 127.0.0.1, server: _, request: "GET //api/v1/companies HTTP/1.1", host: "******"
ну такой путь есть ?
источник

VZ

Vladimir Zhurkin in nginx_ru
/var/www/html/sites/help/public/api/v1/companies
источник

АН

Андрей Новик... in nginx_ru
Vladimir Zhurkin
/var/www/html/sites/help/public/api/v1/companies
нет конечно, есть только до паблика. А вот /api/v1/companies он должен в index.php уже смотреть
источник