Код веб-интерфейса напрямую обращается к http вместо https и вызывает ошибку в содержимом микса - PullRequest
0 голосов
/ 31 марта 2019

В качестве академического проекта мы размещаем наше веб-приложение с Amazon S3 (для Angular) и Apache Server (для Django).Мы сделали оба сайта https (как для внешнего, так и для внутреннего интерфейса).Мы можем получить доступ к бэкэнду на нашем локальном хосте, используя ng serve.Однако для производственного сайта это всегда дает нам ошибку смешанного содержимого (попробуйте подключить HTTP для нашего бэкэнда).Но мы фактически добавили https в наш угловой код.Есть ли какие-либо предложения по этому поводу?

Прилагается наш код внешнего интерфейса

export class AuthenticationService {
  private ip: string = 'https://sunrise.99jhs.com';
  authenticate(username: string, password: string) {
    const headers = new HttpHeaders();
    headers.append('Access-Control-Allow-Origin', '*');
    return this.http.post<any>(this.ip + '/api-token-auth/', {username, password}, {headers});
  }

Прилагается сообщение об ошибке

Mixed Content: The page at 'https://sunrise.4jhs.com/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://sunrise.99jhs.com/api-token-auth'. This request has been blocked; the content must be served over HTTPS.

Мы строим угловой код, используя

ng build --prod

Ответы [ 2 ]

0 голосов
/ 31 марта 2019

Проблема не в значении частного IP.Он определяет протокол https.

Проблема в следующем коде:

return this.http.post (this.ip + '/ api-token-auth /', {

Проблема заключается в URL-адресе, полученном из этого кода. Если вы заметили, это URL-адрес, указанный в сообщении об ошибке.

Добавьте туда спецификатор https.выпуск.

0 голосов
/ 31 марта 2019

Старайтесь вообще не конкретизировать протокол

private ip: string = '//sunrise.99jhs.com';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...