Выберите опцию просмотра лагов в Angular

При использовании балансировщика нагрузки в AWS общим вариантом использования является установка SSL-сертификата на балансировщик нагрузки. Это обычно называется разгрузкой SSL или балансировкой нагрузки уровня 7. Трафик с балансировщика нагрузки на экземпляр EC2 не зашифрован и обычно превышает порт 80 (иногда 8080) (HTTP). Трафик с клиента на ваш балансировщик нагрузки определяется создателями, которые вы создали.

Балансировка нагрузки уровня 4 использует TCP для связи с вашим экземпляром EC2 и вы устанавливаете SSL-сертификат на свой веб-сервер. Затем ваш веб-сервер знает, к какому порту подключается клиент, и следующее НЕ ПРИМЕНЯЕТ.

Ваш код, на котором работает ваш веб-сайт, должен проверить, подключен ли клиент к балансировщику нагрузки, используя HTTPS. Если это правда, не перенаправляйте клиента. Если клиент подключен к балансировщику нагрузки, используя HTTP, затем перенаправляет клиент.

Следующий код PHP показывает, как читать заголовки Load Balancer, которые отправляются в ваш экземпляр EC2, чтобы определить, подключен ли клиент к HTTPS , Если вы не используете такой язык, как PHP или Nodes.js, вы также можете создавать конфигурации Apache, которые знают, как читать правильные заголовки (пример внизу).

function require_ssl()
{
        global $config_require_ssl;

        if ($config_require_ssl == FALSE)
        {
                return;
        }

        if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']))
        {
                if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
                {
                       $_SERVER['HTTPS']='on';
                }
        }

        if(empty($_SERVER['HTTPS']) || $_SERVER["HTTPS"] != "on")
        {
                header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);

                exit();
        }
}

Это код для Apache:

<VirtualHost *:80>
    RequestHeader set X-Forwarded-Proto "http"
    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
    …
</VirtualHost>
1
задан anatol 23 January 2019 в 12:09
поделиться

2 ответа

Попробуйте использовать onPush ChangeDetectionStrategy, который улучшит производительность ваших приложений, гарантируя, что обнаружение изменений angular происходит только при запуске указанного действия.

import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
@Component({
    selector: 'app-country',
    changeDetection: ChangeDetectionStrategy.OnPush,
    templateUrl: 'country.html'
});

export class CountryComponent {}

Подробнее на: https://blog.angular-university.io/how-does-angular-2-change-detection-really-work/

0
ответ дан GeoffreyMahugu 23 January 2019 в 12:09
поделиться

На данный момент, Виртуальная прокрутка подходит лучше всего в вашем случае.

Фактически, на git в virtual-scroll внутри mat-select новые значения, не видимые & amp; большое пространство . Из того же обсуждения я нашел пример в stackbltiz , который может вам помочь.

Проверьте обсуждение проблемы в git, так как оно еще не закрыто и может привести больше примеров.

0
ответ дан shhdharmen 23 January 2019 в 12:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: