OpenShift - модуль nginx в качестве завершения SSL и балансировщик нагрузки - PullRequest
1 голос
/ 25 сентября 2019

В прошлом я использовал следующий файл конфигурации для nginx в Ubuntu.Он выполняет следующие действия:

  1. SSL-завершение
  2. Балансировщик нагрузки
  3. Вставляет настраиваемый заголовок X-Nginx-header
  4. Регистрирует вызовы
events { }

http {
    log_format main '$time_iso8601 - $remote_addr - "$http_user_agent" - "$request" - $request_id '
    '- $status - $body_bytes_sent - $request_time ';

    access_log /home/ubuntu/project-demo/logs/access.log main;
    error_log /home/ubuntu/project-demo/logs/error.log error;
    proxy_cache_path /data/nginx/cache keys_zone=one:10m;

    upstream demoapp {
        least_conn;
        server localhost:3001;
        server localhost:3002;
        server localhost:3003;
        server localhost:3004;
    }

    server {
        listen 443 ssl;

        ssl_certificate         /home/ubuntu/project-demo/certs/server.crt;
        ssl_certificate_key     /home/ubuntu/project-demo/certs/server.pem;
        ssl_protocols           TLSv1.1 TLSv1.2;
        ssl_ciphers             HIGH:!aNULL:!MD5;
        ssl_session_cache       shared:SSL:20m;
        ssl_session_timeout     4h;

        location / {
            proxy_set_header X-Nginx-header $request_id;
            proxy_pass http://demoapp/;
        }
    }
}

Я хочу скопировать то же самое с nginx, развернутым как модуль в кластере OpenShift.Я вижу nginx, как указано в каталоге кластера OpenShift.Когда я пытаюсь запустить его, в нем отображается поле для репозитория GitHub с образцом репозитория - https://github.com/sclorg/nginx-ex.git

Как использовать этот репозиторий для файла конфигурации, показанного выше?

1 Ответ

0 голосов
/ 25 сентября 2019

Документацию для версии nginx 1.14 этого изображения можно найти здесь

Это изображение s2i .s2i - это механизм сборки, который берет исходный код (в вашем случае конфигурацию nginx) и базовый образ s2i (в вашем случае образ conlner sclorg nginx) и создает образ времени выполнения (в вашем случае это изображение nginx с конфигурацией).

На основе приведенной выше документации для этого образа nginx s2i, если вы укажете процесс сборки s2i на хранилище VCS (или локальный каталог) с любым из следующих файлов внутри, они автоматически будут использованы образом сборщика nginx s2iдля создания настроенного образа контейнера времени выполнения.

./nginx.conf-- The main nginx configuration file

./nginx-cfg/*.conf
Should contain all nginx configuration we want to include into image

./nginx-default-cfg/*.conf
Contains any nginx config snippets to include in the default server block

./nginx-start/*.sh
Contains shell scripts that are sourced right before nginx is launched

./
Should contain nginx application source code

В вашем случае это означает, что вы можете поместить свою конфигурацию в файл nginx.conf, чтобы перезаписать всю конфигурацию nginx, или в файл ./nginx-cfg/*.conf, чтобы просто добавитьваша конфигурация - файл nginx.conf по умолчанию.

...