Проблемы безопасности при обновлении приложения ember

У меня есть приложение ember/ember-cli, которое я обновляю с 1.10 до 1.12. Это приложение использует API, который работает на порту 8000 в разработке. У меня есть следующее environment.js:

module.exports = function(environment) {
  var ENV = {
    modulePrefix: 'myapplication',
    environment: environment,
    baseURL: '/',
    locationType: 'auto',
    EmberENV: {
      FEATURES: {
      }
    },
    contentSecurityPolicy: {
      'default-src': "'none'",
      'script-src': "'self'",
      'font-src': "'self'",
      'img-src': "'self'",
      'style-src': "'self'",
      'media-src': "'self'"
    },
    APP: {}
  };

  if (environment === 'development') {
    ENV.APP.API_NAMESPACE = '';
    ENV.APP.LOG_VIEW_LOOKUPS = true;
    ENV.contentSecurityPolicy['connect-src'] = "http://localhost:8000";
  }

  if (environment === 'test') {
    // [snipped]
  }

  if (environment === 'production') {
    // [snipped]
 }

  return ENV;
};

Итак, это работало раньше, но теперь, когда делается запрос к API, он отправляется на порт 4200, поэтому возвращается как не найденный.

crossdomain.xml имеет следующее:

<site-control permitted-cross-domain-policies="none"/>

но изменение этого на "all" не помогло. Кстати, похоже, что ember-cli-content-security-policy был обновлен с 0.3.0 до 0.4.0.

EDIT После проксирования ember serve --proxy http://localhost:8000 я получаю следующую ошибку:

Content Security Policy violation: 
{  
   "csp-report":{  
      "document-uri":"http://localhost:4200/",
      "referrer":"",
      "violated-directive":"connect-src http://localhost:8000 ws://localhost:35729 ws://0.0.0.0:35729 http://0.0.0.0:4200/csp-report",
      "effective-directive":"connect-src",
      "original-policy":"default-src 'none'; script-src 'self' localhost:35729 0.0.0.0:35729; font-src 'self'; img-src 'self'; style-src 'self'; media-src 'self'; connect-src http://localhost:8000 ws://localhost:35729 ws://0.0.0.0:35729 http://0.0.0.0:4200/csp-report; report-uri http://0.0.0.0:4200/csp-report;",
      "blocked-uri":"http://localhost:4200/myapp",
      "source-file":"http://localhost:4200/assets/vendor.js",
      "line-number":9827,
      "column-number":10,
      "status-code":200
   }
}

person Eric Wilson    schedule 18.05.2015    source источник
comment
Когда вы запускаете ember s, вы проксируете его на localhost:8000? Как в ember s --proxy http://localhost:8000   -  person Patsy Issa    schedule 18.05.2015
comment
Это проксирует запросы, ember по-прежнему работает на 4200.   -  person Patsy Issa    schedule 18.05.2015
comment
Не могли бы вы поделиться новой ошибкой?   -  person Patsy Issa    schedule 18.05.2015
comment
Мне действительно любопытно, почему это не было необходимо раньше.   -  person Eric Wilson    schedule 18.05.2015
comment
@Kitler, я был неправ, нашел сообщение об ошибке, которое я добавил в свой пост.   -  person Eric Wilson    schedule 18.05.2015


Ответы (1)


Я считаю, что вам нужно добавить несколько хостов, один для порта: 8000 и порт: 4200

person Stefan Penner    schedule 19.05.2015