Size: a a a

2021 April 15

A

Alex in nginx_ru
так вот я думаю как пропиасать может для location /api/
источник

A

Alex in nginx_ru
типо если я иду опять допустим на location /api/ - при этом файлика /tmp/deploy нет то я проксируюсь proxy_pass http://127.0.0.1:8090/api/;
источник

A

Alex in nginx_ru
а если файлик есть (/tmp/deploy) - то отдавать index-deploy.html
источник

A

Alex in nginx_ru
как бы все)
источник

A

Alex in nginx_ru
идея такая
источник

AY

Andrey Yanda in nginx_ru
в идеале оно должно быть везде, я бы сделал так
server {
   if (-d ...) {
       set $deploy_uri "/index-deploy.html";
   }

   location /api/ {
       try_files  $deploy_uri $uri $uri/ /index.html;
       ...
   }
}
источник

A

Alex in nginx_ru
там же для /api проксипас
источник

A

Alex in nginx_ru
location /api/ {
   proxy_pass http://127.0.0.1:8090/api/;
}
источник

AY

Andrey Yanda in nginx_ru
точно, ну тогда можно было бы try_files $deploy_uri @proxy и именованный локейшен
источник

AY

Andrey Yanda in nginx_ru
но чет запутанно получится
источник

A

Alex in nginx_ru
location /api/ {
   error_page 498 = @deploy;
   proxy_pass http://127.0.0.1:8090/api/;
   if (-f /tmp/deploy) {
       return 498;
   }
}
источник

A

Alex in nginx_ru
а вот тут - вместо return 498; - как то отдавать index-deploy.html можно?
источник

A

Alex in nginx_ru
я думаю это само то было бы
источник

AY

Andrey Yanda in nginx_ru
ну отдельный локейшен @deploy, который и будет отдавать файл
источник

A

Alex in nginx_ru
но я не знаю как это обернуть там)
источник

A

Alex in nginx_ru
я вот так попробовал
location @deploy {
        root /usr/lib/frontend;
        try_files $uri $uri/ /index-deploy.html;
}

location /api/ {
  proxy_pass http://127.0.0.1:8090/api/;
  if (-f /tmp/deploy) {
     @deploy;
  }
}
источник

A

Alex in nginx_ru
но конечно это не правильно - именно @deploy;
источник

AY

Andrey Yanda in nginx_ru
конечно нет, вариант, который ты процитировал он завязан на error_page
источник

AY

Andrey Yanda in nginx_ru
почитай доку
источник

AY

Andrey Yanda in nginx_ru
а этот error_page триггерится return'ом в if'е
источник