Size: a a a

2020 February 20

LT

Le Thanh in nginx_ru
Can we config nginx redirect virus corona to a different star
источник

DA

Dmitriy Ansimov in nginx_ru
товарищи, доброго времени суток, если выдастся свободная минута, гляньте, плз, лыжи совсем не едут :(
источник

k

kiosaku in nginx_ru
а чего глядеть ...
источник

k

kiosaku in nginx_ru
у тебя там = прописан с конечным слешом. а редирект происходит без / на конце
источник

k

kiosaku in nginx_ru
и лучше не так сделать, раз тебе a/b нужно
источник

k

kiosaku in nginx_ru
через split выдавай адрес апстрима
источник

k

kiosaku in nginx_ru
а там, где надо 200 отдавать, делай proxy_pass на себя же, но на другой порт, где эти 200 и отдавай
источник

gg

gri gvandri in nginx_ru
Коллеги, ошибка Access to XMLHttpRequest at 'http://sockjs-mt1.pusher.com/pusher/app/123/300/1bpli7ee/xhr_streaming?protocol=7&client=js&version=5.0.3&t=1582188905217&n=1' from origin 'http://griw.b220.ru' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
конфиг приложил, там есть  # cors configuration блок но что-то все равно не пашет
источник

gg

gri gvandri in nginx_ru
server {
  listen 80;
listen 443 ssl;
 
  ssl_certificate /home/grigoriy/ssl/gri.b220.ru/certificate.crt;
  ssl_certificate_key /home/grigoriy/ssl/gri.b220.ru/private.key;

  server_name gri.b220.ru evolpay.local;

  error_log /home/grigoriy/Projects/evolpay.local/logs/error.log error;
  access_log /home/grigoriy/Projects/evolpay.local/logs/access.log combined;

  root /home/grigoriy/Projects/evolpay.local/public;
  index index.html index.php;

  location / {

  add_header "Access-Control-Allow-Headers" "*" always;
  try_files $uri $uri/ /index.php?$query_string;
  }

  location ~* \.php$ {
  try_files $uri = 404;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; # подключаем сокет php-fpm
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;

# cors configuration
       # whitelist of allowed domains, via a regular expression
       # if ($http_origin ~* (http://localhost(:[0-9]+)?)) {
       if ($http_origin ~* .*) { # yeah, for local development. tailor your regex as needed
            set $cors "true";
       }

       # apparently, the following three if statements create a flag for "compound conditions"
       if ($request_method = OPTIONS) {
           set $cors "${cors}options";
       }

       if ($request_method = GET) {
           set $cors "${cors}get";
       }

       if ($request_method = POST) {
           set $cors "${cors}post";
       }

       # now process the flag
       if ($cors = 'trueget') {
           add_header 'Access-Control-Allow-Origin' "$http_origin";
           add_header 'Access-Control-Allow-Credentials' 'true';
       }

       if ($cors = 'truepost') {
           add_header 'Access-Control-Allow-Origin' "$http_origin";
           add_header 'Access-Control-Allow-Credentials' 'true';
       }

       if ($cors = 'trueoptions') {
           add_header 'Access-Control-Allow-Origin' "$http_origin";
           add_header 'Access-Control-Allow-Credentials' 'true';

           add_header 'Access-Control-Max-Age' 1728000; # cache preflight value for 20 days
           add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
           add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since';

           add_header 'Content-Length' 0;
           add_header 'Content-Type' 'text/plain charset=UTF-8';
           return 204;
       }
}
}
источник

k

kiosaku in nginx_ru
ну включи ты уже add_header на уровне server {} - а, вижу
источник

k

kiosaku in nginx_ru
минуту, там же какой-то внешний ресурс дёргаешь
источник

k

kiosaku in nginx_ru
он-то и не содержит заголовка
источник

DA

Dmitriy Ansimov in nginx_ru
kiosaku
а там, где надо 200 отдавать, делай proxy_pass на себя же, но на другой порт, где эти 200 и отдавай
спасибо, а почему лучше с апстримами? в целях удобоваримости конфига, или есть как-то технические особенности?
источник

k

kiosaku in nginx_ru
Dmitriy Ansimov
спасибо, а почему лучше с апстримами? в целях удобоваримости конфига, или есть как-то технические особенности?
чтобы не постить на stackoverflow. да и логика работы сразу перед глазами
источник

k

kiosaku in nginx_ru
kiosaku
он-то и не содержит заголовка
покажи запрос к sockjs-mt1.pusher.com
источник

k

kiosaku in nginx_ru
там только options/post разрешены
источник

k

kiosaku in nginx_ru
хотя … Access-Control-Allow-Origin: * в ответе от sockjs-mt1.pusher.com есть
источник

gg

gri gvandri in nginx_ru
kiosaku
минуту, там же какой-то внешний ресурс дёргаешь
Это виджет, который скачивает js с другого сайта, потом посылает ему же запрос (удачно), потом пытается с ним же по сокетам связаться
источник

k

kiosaku in nginx_ru
Redirect is not allowed for a preflight request.
источник

gg

gri gvandri in nginx_ru
длинный блок cors вместо add_header 'Access-Control-Allow-Origin' '*' always;   потому что вроде как современные браузеры бывают не разрешают все по звездочке
источник