Заставить приложение angular js на heroku использовать http вместо https?

0

Я обращаюсь к API-интерфейсу "http" с моим приложением, поэтому каждый раз, когда я обращаюсь к своему приложению на heroku (который по умолчанию включен https), CORS жалуется на запросы домена с кросс-началом.

Просить владельца API сделать это "https" не является вариантом, поэтому мне было интересно, можно ли заставить приложение всегда использовать http? Это встроенное приложение node.js. (Более конкретно, это приложение с угловым js-выражением yoman). В Rails я видел несколько сообщений в Stack OverFlow, в которых говорится, что это можно легко сделать с помощью config.force_ssl = false, поэтому мне было интересно, может ли что-то подобное работать для приложения node.js (либо что-то в коде или на Heroku специально).

  • 0
    если вы должны обслуживать свое приложение с https, вы можете использовать свой сервер в качестве прокси для звонков на другие API
Теги:
http
https
heroku

1 ответ

0

В качестве исправления я написал фабрику AngularJS, которая маршрутизирует все запросы https на http:

  .factory('DisableSSL', function($location, $window){
    return {
      activate: function() {
        if ($location.protocol() !== 'http') {
          $window.location.href = $location.absUrl().replace('https', 'http');
        }
      }
    };
  })

Эта фабрика включена во все мои другие контроллеры и activate функция activate.

Обратите внимание, что это не работает, если вы используете расширение браузера, например HTTPSEverywhere.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню