Laravel Ошибка при AJAX запросе при переходе на HTTPS "This request has been blocked.."

Вакансии в Москве: Ведуший PHP разработчик 110-150к

Тема в разделе "Laravel", создана пользователем kamwork, 27 дек 2016.

  1. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    Всем привет!

    Сломал уже голову. При отправке файла AJAX запросом, выдается ошибка "This request has been blocked; the content must be served over HTTPS."

    Целиком ошибка выглядит так:


    Mixed Content: The page at 'https://site.ru/admin/article/1/edit' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://site.ru/admin/article/images-upload?fileapi14827790438075'. This request has been blocked; the content must be served over HTTPS.

    Поставил сначала одну библиотеку для загрузки фото через AJAX, затем FileAPI, ошибка одна и та же. Следовательно ошибку библиотеки исключаем. В URL пробовал передавать ссылку как относительную с /admin/... так и абсолютную https://site.ru/admin.. результат один и тот же. Идет запрос по верному адресу, но получаю с него 301 редирект на http:// это видно из консоли.

    Как победить? Обычные запросы с https ходят ок. На локале без https все работает.
     

    Вложения:

  2. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    3.502
    Adress:
    Country:
    Location on map:
    Победить очень просто - не посылать редирект с http://
     
  3. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    Может подскажите куда капать, что при AJAX есть редирект, при обычном запросе - нет?
     
  4. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    3.502
    Adress:
    Country:
    Location on map:
    Копать в свой код, обрабатывающий AJAX запрос.
    Задайте вопрос поинтереснее, если хотите услышать более интересные ответы.
     
  5. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    У нас тут конкурс интересных вопросов?

    До кода обрабатывающего запрос дело не доходил, лара редиректит на http до того, как запрос приходит в контроллер где должен быть обработан.
     
  6. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    3.502
    Adress:
    Country:
    Location on map:
    Ещё раз - само ничего не происходит.
    Если запрос попадает в PHP, это ваш код его обрабатывает.
    Вам сюда: http://phpfaq.ru/debug
     
  7. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    Ну какая-то странность под капотом лары.
    Текстовые ajax запросы ходят без проблем. При попытке передать файл, получаю редирект.
     
  8. fixxxer

    fixxxer К.О.

    Сообщения:
    11.630
    Ваш город:
    Moscow, Russia
    Adress:
    Moscow, Russia
    Country:
    Location on map:
    csrf токен небось не передается
     
  9. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    Т.е. когда текст шлю передаю, а когда картинку решил что ну его этот токен? :)
     
  10. fixxxer

    fixxxer К.О.

    Сообщения:
    11.630
    Ваш город:
    Moscow, Russia
    Adress:
    Moscow, Russia
    Country:
    Location on map:
    Ну смотря как шлешь. Многие библиотеки csrf-заголовок добавляют автоматически.
     
  11. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    Я руками добавляю.
    Если не добавить, получаю 500 ошибку на локале. На сервере запрос 1 фиг не доходит.
     
  12. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    Проблема в том, что даже до роута не доходит запрос :(
     
  13. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    3.502
    Adress:
    Country:
    Location on map:
    Я сказал - "если" доходит.
    Что в логах? До PHP запрос вообще доходит?
     
  14. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    Как итог - проблема была в редиректе с /route/ на /route
    Запрос слался на /route/
    На локалке все верно отрабатывало, а на сервере редиректило на http протокол
     
  15. WMix

    WMix герр M:)ller

    Сообщения:
    5.321
    Ваш город:
    Germany
    Adress:
    Country:
    Location on map:
    редирект с /route/ на /route - жесть, нужно ошибку "404 не нашел" показывать, если /route/index нет
     
  16. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    В чем + данного подходе, кроме исключения тех граблей по которым я прошелся?
     
  17. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    3.502
    Adress:
    Country:
    Location on map:
    В однозначности поведения маршрутизатора.
    Нельзя понижать маршрут только потому, что тебе показалось, что клиент имел в виду что-то другое.
     
  18. WMix

    WMix герр M:)ller

    Сообщения:
    5.321
    Ваш город:
    Germany
    Adress:
    Country:
    Location on map:
    ты еще кучу граблей не видишь
     
  19. kamwork

    kamwork Новичок

    Сообщения:
    16
    Adress:
    Country:
    Location on map:
    Например?
     
  20. WMix

    WMix герр M:)ller

    Сообщения:
    5.321
    Ваш город:
    Germany
    Adress:
    Country:
    Location on map:
    Возвращается / ревратится не тот адрес который ожидал. И все приложение работает псевдослучайно, только потому что в руте ошибку сделали написав indех ( е русская ) это так фантазия.. грабли они разные и кто его знает какими они будут у тебя
     
    kamwork нравится это.