Ответы пользователя по тегу CORS
  • Какой должна быть структура nginx.conf с basic authorization и cors?

    @aguz
    Client-side developer
    Пожалуй для истории оставлю пример.

    Заголовки Access-Control-Allow-* потребуются во всех типах запросов. Поэтому их нет необходимости сегментировать как на enable-cors.org
    Необходимость условия if ($request_method) на уровне location, а не server, была связана с особенностям работы nginx.

    server {
    
        #Authentification
        satisfy any;
    
        allow 123.456.789.001;
        allow 123.456.789.002;
        deny  all;
            
        auth_basic           "Admin section";
        auth_basic_user_file .htpasswd;
    
        #CORS
        add_header Access-Control-Allow-Origin "http://localhost"; # <- needs to be updated
        add_header Access-Control-Allow-Methods "GET, OPTIONS"; # 
        add_header Access-Control-Allow-Headers "Authorization";
        add_header Access-Control-Allow-Credentials "true"; 
    
        location / {
            if ($request_method = OPTIONS ) { # <- because if ($request_method) doesn't work on server level
                add_header Content-Length 0;
                add_header Content-Type text/plain;
                return 200;
            }
        }
    
        #Routing
        location ~ ^/(images|javascripts|stylesheets|system)/  {
             root /some/directory/for/rails/app/public;
             expires max;
            break;
        }
    
        location ... {
            ...
        }
    
    }
    Ответ написан
    2 комментария
  • JavaScript Auth с поддержкой CORS?

    @aguz
    Client-side developer
    Полагаю, что речь идет про запросы через jQuery - $.ajax.
    При кроссдоменных запросах в ИЕ давних версий нужно использовать XDomainRequest вместо XMLHttpRequest, но он ограничен в возможностях. $.ajax не поддерживает XDomainRequest.

    Несколько ссылок в тему:
    bugs.jquery.com/ticket/8283#comment:43 - почему всё плохо
    mcgivery.com/ie8-and-cors - и что можно сделать

    А надо, чтобы везде работало стабильно.

    JSONP ? Но тогда нет POST.
    Ответ написан