Augmenter le délai d'expiration de la demande dans NGINX

NGINX est un logiciel open source pour le service Web, le proxy inverse, la mise en cache, l'équilibrage de charge, le streaming multimédia, etc. Il a commencé comme un serveur Web conçu pour des performances et une stabilité maximales. En plus de ses capacités de serveur HTTP, NGINX peut également fonctionner comme un serveur proxy pour le courrier électronique (IMAP, POP3 et SMTP) et un proxy inverse et un équilibreur de charge pour les serveurs HTTP, TCP et UDP.

Augmentez ou définissez le délai d'expiration de la demande dans nginx ; Grâce à ce didacticiel, nous apprendrons comment augmenter ou définir le délai d'expiration de la demande dans Nginx. Suivez simplement les étapes suivantes pour augmenter le délai d'expiration de la demande dans NGINX :

Table des matières

  • Étape 1 : Ouvrir le fichier de configuration NGINX
  • Étape 2 : Augmenter le délai d'expiration de la demande dans NGINX
  • Étape 3 : Redémarrez NGINX

Étape 1 : Ouvrir le fichier de configuration NGINX

Tout d'abord, ouvrez le terminal et exécutez la commande suivante en ligne de commande pour ouvrir le fichier de configuration NGINX dans un éditeur de texte :

sudo vi /etc/nginx/nginx.conf

Remarque importante : - Le fichier NGINX peut se trouver dans  /usr/local/nginx/conf , /etc/nginx ou /usr/local/etc/nginx  selon votre installation.


Étape 2 : Augmenter le délai d'expiration de la demande dans NGINX

Pour augmenter le délai d'expiration de la demande à 300 secondes, ajoutez  les directives proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  au   bloc http  ou  serveur

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

Pour augmenter le délai d'expiration de la demande uniquement pour un serveur ou un sous-domaine spécifique, ajoutez  les directives proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  pour son   bloc de serveur .

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Pour augmenter le délai d'expiration de la demande uniquement pour un dossier ou une URL spécifique, ajoutez  les directives proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  pour ce   bloc d' emplacement spécifique.

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Étape 3 : Redémarrez NGINX

sudo nginx -t

S'il n'y a pas d'erreurs, exécutez la commande suivante pour redémarrer le serveur NGINX :

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

Grâce à ce didacticiel, nous avons appris à augmenter ou à définir le délai d'expiration de la demande dans Nginx.

中條 美冬

1665415923

NGINXのリクエストタイムアウトを段階的に増やす

NGINXは、Web サービス、リバース プロキシ、キャッシング、ロード バランシング、メディア ストリーミングなどのためのオープン ソース ソフトウェアです。それは、最大のパフォーマンスと安定性のために設計された Web サーバーとして始まりました。その HTTP サーバー機能に加えて、NGINX は電子メール (IMAP、POP3、および SMTP) のプロキシ サーバーとして、および HTTP、TCP、および UDP サーバーのリバース プロキシおよびロード バランサーとしても機能します。

nginx でリクエストのタイムアウトを増やすか設定します。このチュートリアルを通じて、Nginx でリクエストのタイムアウトを増やしたり設定したりする方法を学びます。NGINX でリクエストのタイムアウトを増やすには、次の手順に従ってください。

目次

  • ステップ 1: NGINX 構成ファイルを開く
  • ステップ 2: NGINX でリクエストのタイムアウトを増やす
  • ステップ 3: NGINX を再起動する

ステップ 1: NGINX 構成ファイルを開く

まず、ターミナルを開き、コマンド ラインで次のコマンドを実行して、NGINX 構成ファイルをテキスト エディターで開きます。

sudo vi /etc/nginx/nginx.conf

重要な注意:- インストールに応じて、NGINX ファイルは /usr/local/nginx/conf 、 /etc/nginx 、または /usr/local/etc/nginx にある場合があります。


ステップ 2: NGINX でリクエストのタイムアウトを増やす

リクエストのタイムアウトを 300 秒に 増やすには、proxy_read_timeout、proxy_connect_timeout、proxy_send_timeout ディレクティブを http または サーバー ブロックに追加します。

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

特定のサーバーまたはサブドメインに対してのみ要求タイムアウトを増やすには  、その サーバー ブロックに proxy_read_timeout、proxy_connect_timeout、proxy_send_timeoutディレクティブを追加します。

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

特定のフォルダーまたは URL に対してのみ要求タイムアウトを増やすには  、その特定の ロケーション ブロックに対してproxy_read_timeout、proxy_connect_timeout、proxy_send_timeoutディレクティブを追加します。

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

ステップ 3: NGINX を再起動する

sudo nginx -t

エラーがない場合は、次のコマンドを実行して NGINX サーバーを再起動します。

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

このチュートリアルを通じて、Nginx でリクエストのタイムアウトを増やしたり設定したりする方法を学びました。

Aumente el tiempo de espera de la solicitud en NGINX

NGINX es un software de código abierto para servicios web, proxy inverso, almacenamiento en caché, equilibrio de carga, transmisión de medios y más. Comenzó como un servidor web diseñado para el máximo rendimiento y estabilidad. Además de sus capacidades de servidor HTTP, NGINX también puede funcionar como un servidor proxy para correo electrónico (IMAP, POP3 y SMTP) y un proxy inverso y equilibrador de carga para servidores HTTP, TCP y UDP.

Aumente o establezca el tiempo de espera de la solicitud en nginx; A través de este tutorial, aprenderemos cómo aumentar o configurar el tiempo de espera de solicitud en Nginx. Simplemente siga los siguientes pasos para aumentar el tiempo de espera de la solicitud en NGINX:

Tabla de contenido

  • Paso 1: Abra el archivo de configuración de NGINX
  • Paso 2: aumentar el tiempo de espera de la solicitud en NGINX
  • Paso 3: reiniciar NGINX

Paso 1: Abra el archivo de configuración de NGINX

En primer lugar, abra el terminal y ejecute el siguiente comando en la línea de comandos para abrir el archivo de configuración de NGINX en un editor de texto:

sudo vi /etc/nginx/nginx.conf

Nota importante: el archivo NGINX puede estar ubicado en  /usr/local/nginx/conf , /etc/nginx o /usr/local/etc/nginx  dependiendo de su instalación.


Paso 2: aumentar el tiempo de espera de la solicitud en NGINX

Para aumentar el tiempo de espera de la solicitud a 300 segundos, agregue  las directivas proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  a  http  o   bloque de servidor

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

Para aumentar el tiempo de espera de la solicitud solo para un servidor o subdominio específico, agregue  las directivas proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  para su   bloque de servidor .

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Para aumentar el tiempo de espera de la solicitud solo para una carpeta o URL específica, agregue  las directivas proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  para ese   bloque de ubicación específico.

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Paso 3: reiniciar NGINX

sudo nginx -t

Si no hay errores, ejecute el siguiente comando para reiniciar el servidor NGINX:

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

A través de este tutorial, hemos aprendido cómo aumentar o establecer el tiempo de espera de solicitud en Nginx.

Шаг за шагом увеличивайте время ожидания запроса в NGINX

NGINX — это программное обеспечение с открытым исходным кодом для веб-обслуживания, обратного прокси-сервера, кэширования, балансировки нагрузки, потоковой передачи мультимедиа и многого другого. Он начинался как веб-сервер, предназначенный для максимальной производительности и стабильности. Помимо возможностей HTTP-сервера, NGINX также может работать в качестве прокси-сервера для электронной почты (IMAP, POP3 и SMTP), а также обратного прокси-сервера и балансировщика нагрузки для серверов HTTP, TCP и UDP.

Увеличить или установить время ожидания запроса в nginx; В этом руководстве мы узнаем, как увеличить или установить время ожидания запроса в Nginx. Просто выполните следующие шаги, чтобы увеличить время ожидания запроса в NGINX:

Оглавление

  • Шаг 1: Откройте файл конфигурации NGINX
  • Шаг 2. Увеличьте время ожидания запроса в NGINX
  • Шаг 3: Перезапустите NGINX

Шаг 1: Откройте файл конфигурации NGINX

Прежде всего, откройте терминал и выполните следующую команду в командной строке, чтобы открыть файл конфигурации NGINX в текстовом редакторе:

sudo vi /etc/nginx/nginx.conf

Важное примечание. Файл NGINX может находиться в  /usr/local/nginx/conf, /etc/nginx или /usr/local/etc/nginx  в зависимости от вашей установки.


Шаг 2. Увеличьте время ожидания запроса в NGINX

Чтобы увеличить время ожидания запроса до 300 секунд, добавьте  директивы proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  в   блок http  или  server .

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

Чтобы увеличить время ожидания запроса только для определенного сервера или субдомена, добавьте  директивы proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  для его   блока server .

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Чтобы увеличить время ожидания запроса только для определенной папки или URL-адреса, добавьте  директивы proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  для этого конкретного   блока местоположения .

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Шаг 3: Перезапустите NGINX

sudo nginx -t

Если ошибок нет, выполните следующую команду для перезапуска сервера NGINX:

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

Из этого руководства мы узнали, как увеличить или установить время ожидания запроса в Nginx.

Duck Hwan

1665405060

NGINX에서 요청 시간 초과를 단계별로 늘리기

NGINX 는 웹 서비스, 역방향 프록시, 캐싱, 로드 밸런싱, 미디어 스트리밍 등을 위한 오픈 소스 소프트웨어입니다. 최대 성능과 안정성을 위해 설계된 웹 서버로 시작했습니다. HTTP 서버 기능 외에도 NGINX는 이메일(IMAP, POP3 및 SMTP)용 프록시 서버와 HTTP, TCP 및 UDP 서버용 리버스 프록시 및 로드 밸런서로도 사용할 수 있습니다.

nginx에서 요청 시간 초과를 늘리거나 설정하십시오. 이 튜토리얼을 통해 Nginx에서 요청 시간 초과를 늘리거나 설정하는 방법을 배웁니다. NGINX에서 요청 시간 초과를 늘리려면 다음 단계를 따르십시오.

목차

  • 1단계: NGINX 구성 파일 열기
  • 2단계: NGINX에서 요청 시간 초과 증가
  • 3단계: NGINX 다시 시작

1단계: NGINX 구성 파일 열기

먼저 터미널을 열고 명령줄에서 다음 명령을 실행하여 텍스트 편집기에서 NGINX 구성 파일을 엽니다.

sudo vi /etc/nginx/nginx.conf

중요 참고 사항: - NGINX 파일은 설치에 따라  /usr/local/nginx/conf , /etc/nginx 또는 /usr/local/etc/nginx 에 있을  수 있습니다.


2단계: NGINX에서 요청 시간 초과 증가

요청 시간 초과를 300초로 늘리려면  http  또는  서버  블록 에 proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  지시문을  추가하십시오.

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

특정 서버 또는 하위 도메인에 대해서만 요청 시간 초과를 늘리려면  해당 서버  블록 에 대해 proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  지시문을  추가합니다.

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

특정 폴더 또는 URL에 대해서만 요청 시간 초과를 늘리려면  해당 특정 위치  블록 에 대해 proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  지시문을  추가하십시오.

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

3단계: NGINX 다시 시작

sudo nginx -t

오류가 없으면 다음 명령을 실행하여 NGINX 서버를 다시 시작합니다.

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

이 튜토리얼을 통해 Nginx에서 요청 시간 초과를 늘리거나 설정하는 방법을 배웠습니다.

Erhöhen Sie das Anforderungs-Timeout in NGINX

NGINX ist eine Open-Source-Software für Webserver, Reverse-Proxy, Caching, Lastenausgleich, Medienstreaming und mehr. Es begann als Webserver, der auf maximale Leistung und Stabilität ausgelegt war. Zusätzlich zu seinen HTTP-Serverfunktionen kann NGINX auch als Proxy-Server für E-Mail (IMAP, POP3 und SMTP) und als Reverse-Proxy und Load Balancer für HTTP-, TCP- und UDP-Server fungieren.

Erhöhen oder setzen Sie das Anforderungs-Timeout in nginx; In diesem Tutorial erfahren wir, wie Sie das Anforderungs-Timeout in Nginx erhöhen oder festlegen. Befolgen Sie einfach die folgenden Schritte, um das Anforderungs-Timeout in NGINX zu erhöhen:

Inhaltsverzeichnis

  • Schritt 1: Öffnen Sie die NGINX-Konfigurationsdatei
  • Schritt 2: Erhöhen Sie das Anforderungs-Timeout in NGINX
  • Schritt 3: Starten Sie NGINX neu

Schritt 1: Öffnen Sie die NGINX-Konfigurationsdatei

Öffnen Sie zunächst das Terminal und führen Sie den folgenden Befehl in der Befehlszeile aus, um die NGINX-Konfigurationsdatei in einem Texteditor zu öffnen:

sudo vi /etc/nginx/nginx.conf

Wichtiger Hinweis:- Die NGINX-Datei kann sich   je nach Ihrer Installation unter /usr/local/nginx/conf , /etc/nginx oder /usr/local/etc/nginx befinden .


Schritt 2: Erhöhen Sie das Anforderungs-Timeout in NGINX

Um das Anforderungs-Timeout auf 300 Sekunden zu erhöhen, fügen Sie dann die  Anweisungen proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  zum  http-  oder  Server-  Block hinzu

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

Um das Anforderungs-Timeout nur für einen bestimmten Server oder eine bestimmte Subdomain zu erhöhen, fügen Sie dann die  Anweisungen proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  für seinen  Serverblock hinzu  .

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Um das Anforderungs-Timeout nur für bestimmte Ordner oder URLs zu erhöhen, fügen Sie dann die  Anweisungen proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  für diesen bestimmten  Standortblock hinzu  .

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Schritt 3: Starten Sie NGINX neu

sudo nginx -t

Wenn es keine Fehler gibt, führen Sie den folgenden Befehl aus, um den NGINX-Server neu zu starten:

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

Durch dieses Tutorial haben wir gelernt, wie man das Anforderungs-Timeout in Nginx erhöht oder festlegt.

Aumente o tempo limite da solicitação no NGINX

O NGINX é um software de código aberto para serviço na Web, proxy reverso, armazenamento em cache, balanceamento de carga, streaming de mídia e muito mais. Começou como um servidor web projetado para máximo desempenho e estabilidade. Além de seus recursos de servidor HTTP, o NGINX também pode funcionar como um servidor proxy para e-mail (IMAP, POP3 e SMTP) e um proxy reverso e balanceador de carga para servidores HTTP, TCP e UDP.

Aumente ou defina o tempo limite de solicitação no nginx; Através deste tutorial, aprenderemos como aumentar ou definir o tempo limite de solicitação no Nginx. Basta seguir as etapas a seguir para aumentar o tempo limite da solicitação no NGINX:

Índice

  • Etapa 1: abra o arquivo de configuração do NGINX
  • Etapa 2: aumentar o tempo limite da solicitação no NGINX
  • Etapa 3: reinicie o NGINX

Etapa 1: abra o arquivo de configuração do NGINX

Antes de tudo, abra o terminal e execute o seguinte comando na linha de comando para abrir o arquivo de configuração do NGINX em um editor de texto:

sudo vi /etc/nginx/nginx.conf

Nota importante: - O arquivo NGINX pode estar localizado em  /usr/local/nginx/conf , /etc/nginx ou /usr/local/etc/nginx  dependendo da sua instalação.


Etapa 2: aumentar o tempo limite da solicitação no NGINX

Para aumentar o tempo limite da solicitação para 300 segundos, adicione  as diretivas proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  a  http  ou   bloco de servidor

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

Para aumentar o tempo limite de solicitação apenas para um servidor ou subdomínio específico, adicione  as diretivas proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  para seu   bloco de servidor .

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Para aumentar o tempo limite de solicitação apenas para uma pasta ou URL específica, adicione  as diretivas proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  para esse   bloco de local específico.

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Etapa 3: reinicie o NGINX

sudo nginx -t

Se não houver erros, execute o seguinte comando para reiniciar o servidor NGINX:

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

Através deste tutorial, aprendemos como aumentar ou definir o tempo limite de solicitação no Nginx.

CODE VN

CODE VN

1665394140

Tăng thời gian chờ yêu cầu trong NGINX

NGINX là phần mềm mã nguồn mở để phục vụ web, đảo ngược ủy quyền, lưu vào bộ nhớ đệm, cân bằng tải, phát trực tuyến phương tiện và hơn thế nữa. Ban đầu, nó là một máy chủ web được thiết kế để có hiệu suất và độ ổn định tối đa. Ngoài khả năng máy chủ HTTP, NGINX cũng có thể hoạt động như một máy chủ proxy cho email (IMAP, POP3 và SMTP) và một proxy ngược và bộ cân bằng tải cho các máy chủ HTTP, TCP và UDP.

Tăng hoặc đặt thời gian chờ yêu cầu trong nginx; Thông qua hướng dẫn này, chúng ta sẽ tìm hiểu cách tăng hoặc đặt thời gian chờ yêu cầu trong Nginx. Chỉ cần làm theo các bước sau để tăng thời gian chờ yêu cầu trong NGINX:

Mục lục

  • Bước 1: Mở tệp cấu hình NGINX
  • Bước 2: Tăng thời gian chờ yêu cầu trong NGINX
  • Bước 3: Khởi động lại NGINX

Bước 1: Mở tệp cấu hình NGINX

Trước hết, hãy mở terminal và thực hiện lệnh sau trên dòng lệnh để mở tệp cấu hình NGINX trong trình soạn thảo văn bản:

sudo vi /etc/nginx/nginx.conf

Lưu ý quan trọng: - Tệp NGINX có thể được đặt tại  / usr / local / nginx / conf, / etc / nginx hoặc / usr / local / etc / nginx  tùy thuộc vào cài đặt của bạn.


Bước 2: Tăng thời gian chờ yêu cầu trong NGINX

Để tăng thời gian chờ yêu cầu lên 300 giây, sau đó thêm các  lệnh proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  vào  http  hoặc   khối máy chủ

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

Để tăng thời gian chờ yêu cầu chỉ cho một máy chủ hoặc miền phụ cụ thể, sau đó thêm các  lệnh proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  cho  khối máy chủ của nó  .

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Để tăng thời gian chờ yêu cầu chỉ cho thư mục hoặc URL cụ thể, sau đó thêm  chỉ thị proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout  cho   khối vị trí cụ thể đó.

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Bước 3: Khởi động lại NGINX

sudo nginx -t

Nếu không có lỗi, hãy thực hiện lệnh sau để khởi động lại máy chủ NGINX:

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

Thông qua hướng dẫn này, chúng tôi đã học cách tăng hoặc đặt thời gian chờ yêu cầu trong Nginx.

Dylan North

Dylan North

1665389615

Increase Request Timeout in NGINX Step by Step

NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers.

Increase or set request timeout in nginx; Through this tutorial, we will learn how to increase or set request timeout in Nginx. Just follow the following steps to increase request timeout in NGINX:

Table Of Contents

  • Step 1: Open NGINX configuration file
  • Step 2: Increase Request Timeout in NGINX
  • Step 3: Restart NGINX

Step 1: Open NGINX configuration file

First of all, Open the terminal and execute the following command on command line to open NGINX configuration file in a text editor:

sudo vi /etc/nginx/nginx.conf

Important Note:- NGINX file may be located at /usr/local/nginx/conf , /etc/nginx , or /usr/local/etc/nginx depending on your installation.


Step 2: Increase Request Timeout in NGINX

To increase request timeout to 300 seconds, then add proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout directives to http or server block

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}

To increase request timeout only for a specific server or subdomain, then add proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout directives for its server block.

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

To increase request timeout only for specific folder or URL, then add proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout directives for that specific location block.

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

Step 3: Restart NGINX

sudo nginx -t

If there are no errors, so execute the following command to restart NGINX server:

sudo service nginx reload #debian/ubuntu
systemctl restart nginx #redhat/centos

Through this tutorial, we have learned how to increase or set request timeout in Nginx.

#nginx 

Increase Request Timeout in NGINX Step by Step
Dang  Tu

Dang Tu

1660998063

Cách Triển Khai JBoss EAP Trên Azure Bằng ansible Automation

Bài viết này trình bày cách triển khai Nền tảng ứng dụng doanh nghiệp JBoss Red Hat (JBoss EAP) trên Microsoft Azure bằng cách sử dụng tự động hóa Ansible. Hiện tại, Red Hat có cung cấp JBoss EAP của Microsoft Azure Marketplace, nhưng nó chỉ có sẵn thông qua mô hình Mang theo-của-bạn-đăng ký (BYOS), tương đối phức tạp. Bài viết này tạo tài nguyên Azure bằng cách sử dụng Ansible Collections cho Azure và sau đó triển khai JBoss EAP bằng cách sử dụng dịch vụ WildFly được cung cấp bởi dự án Ansible Middleware.

Triển khai JBoss EAP trong 6 bước đơn giản

Chúng tôi sẽ sử dụng azure-eap-demo làm ứng dụng mẫu cho bài viết này. Sử dụng ứng dụng này, chúng tôi sẽ tự động hóa và triển khai các phiên bản JBoss EAP trên máy ảo Azure chạy Red Hat Enterprise Linux.

Bước 1. Thiết lập điều kiện tiên quyết

Để chạy ứng dụng mẫu, vui lòng đặt các yêu cầu sau:

  • Một tài khoản Azure có đăng ký đang hoạt động. Nếu bạn chưa có đăng ký Azure, hãy  tạo một đăng ký miễn phí .
  • JBoss EAP: Bạn cần có tài khoản Red Hat với quyền Quản lý đăng ký Red Hat cho JBoss EAP. Quyền này cho phép bạn tải xuống phiên bản JBoss EAP đã được Red Hat kiểm tra và chứng nhận. Nếu bạn không có quyền JBoss EAP, hãy đăng ký gói đăng ký miễn phí dành cho nhà phát triển: Đăng ký nhà phát triển Red Hat dành cho cá nhân. Sau khi đăng ký, bạn có thể tìm thấy thông tin xác thực cần thiết (ID nhóm) tại cổng khách hàng Red Hat.
  • Phần mềm sau trên máy chủ điều khiển hoặc máy cục bộ:
    • Ansible (phiên bản 2.9 trở lên)
    • Python (phiên bản 3.9 trở lên)
    • Python3 netaddr (lấy bằng dnf hoặc pip)
    • Giao diện dòng lệnh Azure (CLI)
    • Tải ứng dụng azure-eap-demo xuống máy cục bộ của bạn.

Bước 2. Cài đặt WildFly và các thành phần khác

Sau khi bạn giải nén azure-eap-demoứng dụng, hãy thay đổi vào thư mục cấp cao nhất của kho lưu trữ và chạy lệnh sau:

$ ansible-galaxy collection install -r requirements.yml

Chúng tôi đang sử dụng khoảng không quảng cáo động do Azure cung cấp. Sau khi các phiên bản được tạo, bạn có thể xem khoảng không quảng cáo bằng lệnh sau:

$ ansible-inventory -i inventory/myazure_rm.yml --graph

Bước 3. Tạo thông tin đăng nhập để truy cập cổng Red Hat

Bạn cần cung cấp thông tin đăng nhập trong sổ chơi để nó có thể tải xuống phần mềm từ cổng khách hàng Red Hat. Chỉ định tên tài khoản Red Hat của bạn trong rhn_usernamebiến và mật khẩu của bạn trong rhn_passwordbiến.

Ngoài ra, bạn phải chỉ định quyền Quản lý đăng ký Red Hat cho JBoss EAP trong jboss_eap_rhn_idbiến. Biến này cho phép bạn chỉ định phiên bản JBoss EAP (được hỗ trợ bởi Red Hat) mà bạn muốn cài đặt. Ngoài ra, bạn có thể chỉ cần tải xuống và cài đặt tệp ZIP JBoss EAP từ cổng khách hàng Red Hat.

Tất cả các biến này có thể được lưu trữ trong một tệp YAML, có tên mà bạn chỉ định trong một phần trong vở kịch Ansible có tên vars_files.

Bước 4. Chạy playbook Ansible

Bây giờ chạy playbook Ansible, trong  create-demo-setup.yml đó tạo tài nguyên trên Azure và triển khai JBoss EAP:

​​​​​​​$ ansible-playbook -e @rhn-creds.yml -i inventory/myazure_rm.yml -e
"ansible_ssh_user=rheluser ansible_ssh_private_key_file='provide_your_ssh_private_key'
hosts_group_name=eap wildfly_version=7.4 override_install_name=jboss-eap"
create-demo-setup.yml

Là một phần của quá trình thực thi playbook, kho lưu trữ azure-eap-demo được sao chép. Tệp của nó create-demo-setup.ymlchứa:

- name: Create Azure VM
  hosts: localhost
  gather_facts: false
  connection: local
  vars:
   repo_url: "https://github.com/ansible-middleware/wildfly-cluster-demo.git"
   branch: main
  tasks:
   - name: Git checkout
     ansible.builtin.git:
       repo: "{{ repo_url }}"
       dest: "{{ playbook_dir }}/wildfly-cluster-demo"
       version: "{{ branch }}"
       single_branch: yes
       clone: yes
       update: yes

   - name: Create demo resources on azure.
     include_role:
       name: 'azure'
     vars:
       ssh_key_path: "{{ ssh_key | default(lookup('env', 'HOME') + '/.ssh/id_rsa.pub')}}"

   - meta: refresh_inventory
   - pause:
       minutes: 1

- name: Run wildfly-cluster-demo
  import_playbook: wildfly-cluster-demo/playbook.yml

Playbook này tạo ra các tài nguyên Azure mà ứng dụng cần, bao gồm một nhóm tài nguyên, mạng ảo, mạng con, nhóm bảo mật, giao diện mạng, ba máy ảo chạy Red Hat Enterprise Linux và địa chỉ IP công cộng cho các máy ảo.

Tất cả các tham số mặc định cho các phiên bản đám mây Azure đều nằm trong gói đã cài đặt roles/azure/defaults/main.yml:.

Cuối cùng, playbook triển khai bản demo cụm WildFly. Tham khảo bài viết Tự động hóa và triển khai một cụm JBoss EAP với Ansible để tìm hiểu thêm về cách sử dụng WildFly.

Bước 5. Xác minh việc triển khai cụm và ứng dụng JBoss EAP

Sau khi playbook hoàn tất thành công, bạn có thể xác minh cụm JBoss EAP bằng cách đăng nhập vào cổng Azure . Tại đây, bạn sẽ tìm thấy tất cả các tài nguyên được tạo để hỗ trợ cụm JBoss EAP. Đăng nhập hoặc SSH vào bất kỳ máy ảo nào được tạo và xác nhận rằng dịch vụ WildFly đang chạy và có thể truy cập được. Ngoài ra, bạn có thể chạy validate.ymlplaybook được cung cấp trong ứng dụng demo wildfly-cluster-demo  để xác thực cấu hình.

Bước 6. Dọn dẹp tài nguyên Azure

Để xóa tất cả các tài nguyên được tạo trên Azure, hãy chạy clean-demo-resources.ymlplaybook:

$ ansible-playbook clean-demo-resources.yml

Nội dung clean-demo-resources.ymlnhư sau:

- name: Create Azure VM
  hosts: localhost
  connection: local
  tasks:
   - name: Create VM's on azure.
     include_role:
       name: 'azure'
     vars:
       action: destroy

Hành destroyđộng chạy roles/azure/tasks/destroy.ymltệp, trong đó có:

---
- name: Remove a VM and all resources that were autocreated
  azure_rm_virtualmachine:
   resource_group: "{{ item.resourcegroup_name }}"
   name: "{{ item.name }}"
   remove_on_absent: all_autocreated
   state: absent
  loop: "{{ vm }}"

- name: Delete a resource group including resources it contains
  azure_rm_resourcegroup:
   name: "{{ item.name }}"
   force_delete_nonempty: yes
   state: absent
  loop: "{{ resource_groups }}"

Playbook loại bỏ tất cả các máy ảo và xóa tất cả các tài nguyên trong eap-clusternhóm tài nguyên.

Ansible đơn giản hóa việc triển khai trên Azure

Trong bài viết này, chúng tôi đã trình bày quy trình từng bước để tạo tài nguyên bằng Ansible trên Microsoft Azure và triển khai cụm JBoss EAP bằng cách sử dụng công cụ từ dự án Ansible Middleware. Kiểm tra các bộ sưu tập và bản trình diễn khác trong  tổ chức GitHub ansible-middleware và trang web Ansible Middleware .

Liên kết: https://developers.redhat.com/articles/2022/08/17/how-ansible-simplifies-jboss-eap-deployment-azure

#redhat #aruze #jboss

Cách Triển Khai JBoss EAP Trên Azure Bằng ansible Automation
Callum  Owen

Callum Owen

1660990823

How to Deploy JBoss EAP on Azure using Ansible Automation

This article demonstrates how to deploy Red Hat JBoss Enterprise Application Platform (JBoss EAP) on Microsoft Azure using Ansible automation. Currently, Red Hat has a Microsoft Azure Marketplace offering of JBoss EAP, but it's available only through the Bring-Your-Own-Subscription (BYOS) model, which is relatively complex. This article creates Azure resources using Ansible Collections for Azure and then deploys JBoss EAP using the WildFly service provided by the Ansible Middleware project.

Deploy JBoss EAP in 6 easy steps

We will use azure-eap-demo as the sample application for this article. Using this application, we will automate and deploy JBoss EAP instances on Azure virtual machines running Red Hat Enterprise Linux.

See more at: https://developers.redhat.com/articles/2022/08/17/how-ansible-simplifies-jboss-eap-deployment-azure

#redhat #aruze #jboss

How to Deploy JBoss EAP on Azure using Ansible Automation
Thierry  Perret

Thierry Perret

1660983549

Comment Déployer JBoss EAP Sur Azure à L'aide D'ansible Automation

Cet article explique comment déployer Red Hat JBoss Enterprise Application Platform (JBoss EAP) sur Microsoft Azure à l'aide de l'automatisation Ansible. Actuellement, Red Hat propose une offre Microsoft Azure Marketplace de JBoss EAP, mais elle n'est disponible que via le modèle BYOS (Bring-Your-Own-Subscription), qui est relativement complexe. Cet article crée des ressources Azure à l'aide d'Ansible Collections pour Azure, puis déploie JBoss EAP à l'aide du service WildFly fourni par le projet Ansible Middleware.

Déployez JBoss EAP en 6 étapes simples

Nous utiliserons azure-eap-demo comme exemple d'application pour cet article. À l'aide de cette application, nous allons automatiser et déployer des instances JBoss EAP sur des machines virtuelles Azure exécutant Red Hat Enterprise Linux.

Étape 1. Configuration des prérequis

Pour exécuter l'exemple d'application, veuillez mettre en place les exigences suivantes :

  • Un compte Azure avec un abonnement actif. Si vous n'avez pas d'abonnement Azure,  créez-en un gratuitement .
  • JBoss EAP : Vous avez besoin d'un compte Red Hat avec un droit Red Hat Subscription Management pour JBoss EAP. Ce droit vous permet de télécharger une version de JBoss EAP testée et certifiée par Red Hat. Si vous ne disposez pas d'un droit JBoss EAP, inscrivez-vous pour un abonnement développeur gratuit : Red Hat Developer Subscription for Individuals. Une fois enregistré, vous pouvez trouver les informations d'identification nécessaires (identifiants de pool) sur le portail client Red Hat.
  • Le logiciel suivant sur l'hôte du contrôleur ou la machine locale :
    • Ansible (version 2.9 ou supérieure)
    • Python (version 3.9 ou supérieure)
    • Python3 netaddr (obtenu en utilisant dnf ou pip)
    • L'interface de ligne de commande Azure (CLI)
    • Téléchargez l'application azure-eap-demo sur votre ordinateur local.

Étape 2. Installez WildFly et d'autres composants

Après avoir décompressé l' azure-eap-demoapplication, accédez au répertoire de niveau supérieur du référentiel et exécutez la commande suivante :

$ ansible-galaxy collection install -r requirements.yml

Nous utilisons un inventaire dynamique fourni par Azure. Une fois les instances créées, vous pouvez afficher l'inventaire avec la commande suivante :

$ ansible-inventory -i inventory/myazure_rm.yml --graph

Étape 3. Créer des informations d'identification pour l'accès au portail Red Hat

Vous devez fournir des informations d'identification dans le playbook afin qu'il puisse télécharger des logiciels à partir du portail client Red Hat. Spécifiez votre nom de compte Red Hat dans la rhn_usernamevariable et votre mot de passe dans la rhn_passwordvariable.

De plus, vous devez spécifier le droit Red Hat Subscription Management pour JBoss EAP dans la jboss_eap_rhn_idvariable. Cette variable vous permet de spécifier la version de JBoss EAP (prise en charge par Red Hat) que vous souhaitez installer. Alternativement, vous pouvez simplement télécharger et installer le fichier ZIP JBoss EAP à partir du portail client Red Hat.

Toutes ces variables peuvent être stockées dans un fichier YAML, dont vous spécifiez le nom dans une section du playbook Ansible nommée vars_files.

Étape 4. Exécutez le playbook Ansible

Exécutez maintenant le playbook Ansible dans  create-demo-setup.yml lequel crée des ressources sur Azure et déploie JBoss EAP :

​​​​​​​$ ansible-playbook -e @rhn-creds.yml -i inventory/myazure_rm.yml -e
"ansible_ssh_user=rheluser ansible_ssh_private_key_file='provide_your_ssh_private_key'
hosts_group_name=eap wildfly_version=7.4 override_install_name=jboss-eap"
create-demo-setup.yml

Dans le cadre de l'exécution du playbook, le référentiel azure-eap-demo est cloné. Son create-demo-setup.ymldossier contient :

- name: Create Azure VM
  hosts: localhost
  gather_facts: false
  connection: local
  vars:
   repo_url: "https://github.com/ansible-middleware/wildfly-cluster-demo.git"
   branch: main
  tasks:
   - name: Git checkout
     ansible.builtin.git:
       repo: "{{ repo_url }}"
       dest: "{{ playbook_dir }}/wildfly-cluster-demo"
       version: "{{ branch }}"
       single_branch: yes
       clone: yes
       update: yes

   - name: Create demo resources on azure.
     include_role:
       name: 'azure'
     vars:
       ssh_key_path: "{{ ssh_key | default(lookup('env', 'HOME') + '/.ssh/id_rsa.pub')}}"

   - meta: refresh_inventory
   - pause:
       minutes: 1

- name: Run wildfly-cluster-demo
  import_playbook: wildfly-cluster-demo/playbook.yml

Ce playbook crée les ressources Azure dont l'application a besoin, notamment un groupe de ressources, des réseaux virtuels, des sous-réseaux, des groupes de sécurité, des interfaces réseau, trois machines virtuelles exécutant Red Hat Enterprise Linux et des adresses IP publiques pour les machines virtuelles.

Tous les paramètres par défaut pour les instances cloud Azure se trouvent dans le package installé : roles/azure/defaults/main.yml​​​​​​.

Enfin, le playbook déploie la démo du cluster WildFly. Reportez-vous à l'article Automatiser et déployer un cluster JBoss EAP avec Ansible pour en savoir plus sur l'utilisation de WildFly.

Étape 5. Vérifier le déploiement du cluster et de l'application JBoss EAP

Une fois le playbook terminé avec succès, vous pouvez vérifier le cluster JBoss EAP en vous connectant au portail Azure . Ici, vous trouverez toutes les ressources créées pour prendre en charge le cluster JBoss EAP. Connectez-vous ou SSH à l'une des machines virtuelles créées et confirmez que le service WildFly est en cours d'exécution et accessible. Vous pouvez également exécuter le validate.ymlplaybook fourni dans l' application wildfly-cluster-demo  pour valider la configuration.

Étape 6. Nettoyer les ressources Azure

Pour nettoyer toutes les ressources créées sur Azure, exécutez le clean-demo-resources.ymlplaybook :

$ ansible-playbook clean-demo-resources.yml

Le contenu de clean-demo-resources.ymlest le suivant :

- name: Create Azure VM
  hosts: localhost
  connection: local
  tasks:
   - name: Create VM's on azure.
     include_role:
       name: 'azure'
     vars:
       action: destroy

L' destroyaction exécute le roles/azure/tasks/destroy.ymlfichier, qui contient :

---
- name: Remove a VM and all resources that were autocreated
  azure_rm_virtualmachine:
   resource_group: "{{ item.resourcegroup_name }}"
   name: "{{ item.name }}"
   remove_on_absent: all_autocreated
   state: absent
  loop: "{{ vm }}"

- name: Delete a resource group including resources it contains
  azure_rm_resourcegroup:
   name: "{{ item.name }}"
   force_delete_nonempty: yes
   state: absent
  loop: "{{ resource_groups }}"

Le playbook supprime toutes les machines virtuelles et supprime toutes les ressources sous le eap-clustergroupe de ressources.

Ansible simplifie le déploiement sur Azure

Dans cet article, nous avons présenté un processus étape par étape pour créer des ressources à l'aide d'Ansible sur Microsoft Azure et déployer un cluster JBoss EAP à l'aide des outils du projet Ansible Middleware. Découvrez les autres collections et démos au sein de l'  organisation GitHub ansible-middleware et du site Web Ansible Middleware .

Lien : https://developers.redhat.com/articles/2022/08/17/how-ansible-simplifies-jboss-eap-deployment-azure

#redhat #aruze #jboss

Comment Déployer JBoss EAP Sur Azure à L'aide D'ansible Automation

Как развернуть JBoss EAP в Azure с помощью Ansible Automation

В этой статье показано, как развернуть Red Hat JBoss Enterprise Application Platform (JBoss EAP) в Microsoft Azure с помощью автоматизации Ansible. В настоящее время у Red Hat есть предложение JBoss EAP на Microsoft Azure Marketplace, но оно доступно только по модели «Bring-Your-Own-Subscription» (BYOS), которая относительно сложна. В этой статье создаются ресурсы Azure с помощью Ansible Collections для Azure, а затем развертывается JBoss EAP с помощью службы WildFly, предоставляемой проектом Ansible Middleware.

Разверните JBoss EAP за 6 простых шагов

Мы будем использовать azure-eap-demo в качестве примера приложения для этой статьи. С помощью этого приложения мы будем автоматизировать и развертывать экземпляры JBoss EAP на виртуальных машинах Azure под управлением Red Hat Enterprise Linux.

Шаг 1. Настройка предварительных условий

Чтобы запустить пример приложения, выполните следующие требования:

  • Учетная запись Azure с активной подпиской. Если у вас нет подписки Azure,  создайте ее бесплатно .
  • JBoss EAP: вам нужна учетная запись Red Hat с правом на управление подпиской Red Hat для JBoss EAP. Это право позволяет загрузить версию JBoss EAP, протестированную и сертифицированную Red Hat. Если у вас нет разрешения JBoss EAP, подпишитесь на бесплатную подписку разработчика: Подписка Red Hat Developer для физических лиц. После регистрации вы можете найти необходимые учетные данные (идентификаторы пула) на клиентском портале Red Hat.
  • Следующее программное обеспечение на хосте контроллера или локальном компьютере:
    • Ansible (версия 2.9 или выше)
    • Python (версия 3.9 или выше)
    • Netaddr Python3 (получен с помощью dnf или pip)
    • Интерфейс командной строки Azure (CLI)
    • Загрузите демонстрационное приложение azure-eap-demo на локальный компьютер.

Шаг 2. Установите WildFly и другие компоненты

После распаковки azure-eap-demoприложения перейдите в каталог верхнего уровня репозитория и выполните следующую команду:

$ ansible-galaxy collection install -r requirements.yml

Мы используем динамическую инвентаризацию, предоставленную Azure. После создания экземпляров вы можете просмотреть инвентарь с помощью следующей команды:

$ ansible-inventory -i inventory/myazure_rm.yml --graph

Шаг 3. Создайте учетные данные для доступа к порталу Red Hat

Вам необходимо предоставить учетные данные в playbook, чтобы он мог загружать программное обеспечение с клиентского портала Red Hat. Укажите имя своей учетной записи Red Hat в rhn_usernameпеременной и свой пароль в rhn_passwordпеременной.

jboss_eap_rhn_idКроме того, в переменной необходимо указать право управления подпиской Red Hat для JBoss EAP . Эта переменная позволяет вам указать, какую версию JBoss EAP (поддерживаемую Red Hat) вы хотите установить. Кроме того, вы можете просто загрузить и установить ZIP-файл JBoss EAP с клиентского портала Red Hat.

Все эти переменные можно хранить в файле YAML, имя которого вы указываете в разделе Ansible playbook с именем vars_files.

Шаг 4. Запустите плейбук Ansible

Теперь запустите Ansible playbook, в  create-demo-setup.yml котором создаются ресурсы в Azure и развертывается JBoss EAP:

​​​​​​​$ ansible-playbook -e @rhn-creds.yml -i inventory/myazure_rm.yml -e
"ansible_ssh_user=rheluser ansible_ssh_private_key_file='provide_your_ssh_private_key'
hosts_group_name=eap wildfly_version=7.4 override_install_name=jboss-eap"
create-demo-setup.yml

В рамках выполнения плейбука клонируется репозиторий azure-eap-demo . Его create-demo-setup.ymlфайл содержит:

- name: Create Azure VM
  hosts: localhost
  gather_facts: false
  connection: local
  vars:
   repo_url: "https://github.com/ansible-middleware/wildfly-cluster-demo.git"
   branch: main
  tasks:
   - name: Git checkout
     ansible.builtin.git:
       repo: "{{ repo_url }}"
       dest: "{{ playbook_dir }}/wildfly-cluster-demo"
       version: "{{ branch }}"
       single_branch: yes
       clone: yes
       update: yes

   - name: Create demo resources on azure.
     include_role:
       name: 'azure'
     vars:
       ssh_key_path: "{{ ssh_key | default(lookup('env', 'HOME') + '/.ssh/id_rsa.pub')}}"

   - meta: refresh_inventory
   - pause:
       minutes: 1

- name: Run wildfly-cluster-demo
  import_playbook: wildfly-cluster-demo/playbook.yml

Этот сценарий создает ресурсы Azure, необходимые приложению, включая группу ресурсов, виртуальные сети, подсети, группы безопасности, сетевые интерфейсы, три виртуальные машины под управлением Red Hat Enterprise Linux и общедоступные IP-адреса для виртуальных машин.

Все параметры по умолчанию для облачных экземпляров Azure находятся в установленном пакете: roles/azure/defaults/main.yml​​​​​​.

Наконец, playbook развертывает демо-версию кластера WildFly. См. статью Автоматизация и развертывание кластера JBoss EAP с помощью Ansible , чтобы узнать больше о том, как использовать WildFly.

Шаг 5. Проверьте развертывание кластера JBoss EAP и приложения

После успешного завершения плейбука вы можете проверить кластер JBoss EAP, войдя на портал Azure . Здесь вы найдете все ресурсы, созданные для поддержки кластера JBoss EAP. Войдите или подключитесь по SSH к любой из созданных виртуальных машин и убедитесь, что служба WildFly запущена и доступна. Кроме того, вы можете запустить validate.ymlplaybook, предоставленный в приложении wildfly-cluster-demo  , для проверки конфигурации.

Шаг 6. Очистите ресурсы Azure

Чтобы очистить все ресурсы, созданные в Azure, запустите clean-demo-resources.ymlплейбук:

$ ansible-playbook clean-demo-resources.yml

Содержание clean-demo-resources.ymlследующее:

- name: Create Azure VM
  hosts: localhost
  connection: local
  tasks:
   - name: Create VM's on azure.
     include_role:
       name: 'azure'
     vars:
       action: destroy

Действие destroyзапускает roles/azure/tasks/destroy.ymlфайл, который содержит:

---
- name: Remove a VM and all resources that were autocreated
  azure_rm_virtualmachine:
   resource_group: "{{ item.resourcegroup_name }}"
   name: "{{ item.name }}"
   remove_on_absent: all_autocreated
   state: absent
  loop: "{{ vm }}"

- name: Delete a resource group including resources it contains
  azure_rm_resourcegroup:
   name: "{{ item.name }}"
   force_delete_nonempty: yes
   state: absent
  loop: "{{ resource_groups }}"

Playbook удаляет все виртуальные машины и удаляет все ресурсы в eap-clusterгруппе ресурсов.

Ansible упрощает развертывание в Azure

В этой статье мы продемонстрировали пошаговый процесс создания ресурсов с помощью Ansible в Microsoft Azure и развертывания кластера JBoss EAP с использованием инструментов из проекта Ansible Middleware. Ознакомьтесь с другими коллекциями и демонстрациями в организации  ansible-middleware GitHub и на веб- сайте Ansible Middleware .

Ссылка: https://developers.redhat.com/articles/2022/08/17/how-ansible-simplifiers-jboss-eap-deployment-azure

#redhat #aruze #jboss

Как развернуть JBoss EAP в Azure с помощью Ansible Automation
田辺  亮介

田辺 亮介

1660969080

如何使用 Ansible 自動化在 Azure 上部署 JBoss EAP

本文演示瞭如何使用 Ansible 自動化在 Microsoft Azure 上部署 Red Hat JBoss Enterprise Application Platform (JBoss EAP)。目前,Red Hat 提供 JBoss EAP 的 Microsoft Azure Marketplace 產品,但它只能通過相對複雜的自帶訂閱 (BYOS) 模型獲得。本文使用 Ansible Collections for Azure 創建 Azure 資源,然後使用 Ansible Middleware 項目提供的 WildFly 服務部署 JBoss EAP。

只需 6 個簡單步驟即可部署 JBoss EAP

我們將使用 azure-eap-demo 作為本文的示例應用程序。使用這個應用程序,我們將在運行 Red Hat Enterprise Linux 的 Azure 虛擬機上自動化和部署 JBoss EAP 實例。

步驟 1. 先決條件設置

要運行示例應用程序,請滿足以下要求:

  • 具有活動訂閱的 Azure 帳戶。如果您沒有 Azure 訂閱, 請免費創建一個
  • JBoss EAP:您需要一個具有 JBoss EAP 的 Red Hat 訂閱管理權利的 Red Hat 帳戶。此權利允許您下載經過 Red Hat 測試和認證的 JBoss EAP 版本。如果您沒有 JBoss EAP 權利,請註冊免費的開發人員訂閱:Red Hat Developer Subscription for Individuals。註冊後,您可以在 Red Hat 客戶門戶中找到必要的憑據(池 ID)。
  • 控制器主機或本地機器上的以下軟件:
    • Ansible(2.9 或更高版本)
    • Python(3.9 或更高版本)
    • Python3 netaddr(使用 dnf 或 pip 獲得)
    • Azure 命令行界面 (CLI)
    • 將 azure-eap-demo 應用程序下載到本地計算機。

步驟 2. 安裝 WildFly 和其他組件

解壓azure-eap-demo應用程序後,切換到存儲庫的頂級目錄,然後運行以下命令:

$ ansible-galaxy collection install -r requirements.yml

我們正在使用 Azure 提供的動態清單。創建實例後,您可以使用以下命令查看清單:

$ ansible-inventory -i inventory/myazure_rm.yml --graph

第 3 步:為 Red Hat 門戶訪問創建憑據

您需要在 playbook 中提供憑據,以便它可以從 Red Hat 客戶門戶下載軟件。在變量中指定您的 Red Hat 帳戶名並在rhn_username變量中指定您的密碼rhn_password

此外,您必須在jboss_eap_rhn_id變量中指定 JBoss EAP 的 Red Hat Subscription Management 授權。這個變量允許你指定你想要安裝的 JBoss EAP(Red Hat 支持)的版本。或者,您可以從 Red Hat 客戶門戶下載並安裝 JBoss EAP ZIP 文件。

所有這些變量都可以存儲在一個 YAML 文件中,您可以在 Ansible playbook 中名為vars_files.

第 4 步:運行 Ansible 劇本

現在運行 Ansible playbook,在 create-demo-setup.yml 其中創建 Azure 資源並部署 JBoss EAP:

​​​​​​​$ ansible-playbook -e @rhn-creds.yml -i inventory/myazure_rm.yml -e
"ansible_ssh_user=rheluser ansible_ssh_private_key_file='provide_your_ssh_private_key'
hosts_group_name=eap wildfly_version=7.4 override_install_name=jboss-eap"
create-demo-setup.yml

作為 playbook 執行的一部分,將克隆azure-eap-demo存儲庫。create-demo-setup.yml文件包含:

- name: Create Azure VM
  hosts: localhost
  gather_facts: false
  connection: local
  vars:
   repo_url: "https://github.com/ansible-middleware/wildfly-cluster-demo.git"
   branch: main
  tasks:
   - name: Git checkout
     ansible.builtin.git:
       repo: "{{ repo_url }}"
       dest: "{{ playbook_dir }}/wildfly-cluster-demo"
       version: "{{ branch }}"
       single_branch: yes
       clone: yes
       update: yes

   - name: Create demo resources on azure.
     include_role:
       name: 'azure'
     vars:
       ssh_key_path: "{{ ssh_key | default(lookup('env', 'HOME') + '/.ssh/id_rsa.pub')}}"

   - meta: refresh_inventory
   - pause:
       minutes: 1

- name: Run wildfly-cluster-demo
  import_playbook: wildfly-cluster-demo/playbook.yml

該劇本創建應用程序所需的 Azure 資源,包括資源組、虛擬網絡、子網、安全組、網絡接口、運行 Red Hat Enterprise Linux 的三個虛擬機以及虛擬機的公共 IP 地址。

Azure 雲實例的所有默認參數都在安裝包中roles/azure/defaults/main.yml

最後,劇本部署 WildFly 集群演示。請參閱文章使用 Ansible 自動化和部署 JBoss EAP 集群以了解有關如何使用 WildFly 的更多信息。

步驟 5. 驗證 JBoss EAP 集群和應用程序的部署

一旦 playbook 成功完成,您可以通過登錄Azure 門戶來驗證 JBoss EAP 集群。在這裡,您將找到為支持 JBoss EAP 集群而創建的所有資源。登錄或 SSH 到任何創建的虛擬機,並確認 WildFly 服務正在運行且可訪問。或者,您可以運行wildfly-cluster-demovalidate.yml應用程序中提供的 playbook 來驗證配置。

步驟 6.清理 Azure 資源

要清理在 Azure 上創建的所有資源,請運行clean-demo-resources.ymlplaybook:

$ ansible-playbook clean-demo-resources.yml

內容clean-demo-resources.yml如下:

- name: Create Azure VM
  hosts: localhost
  connection: local
  tasks:
   - name: Create VM's on azure.
     include_role:
       name: 'azure'
     vars:
       action: destroy

destroy操作運行roles/azure/tasks/destroy.yml文件,其中包含:

---
- name: Remove a VM and all resources that were autocreated
  azure_rm_virtualmachine:
   resource_group: "{{ item.resourcegroup_name }}"
   name: "{{ item.name }}"
   remove_on_absent: all_autocreated
   state: absent
  loop: "{{ vm }}"

- name: Delete a resource group including resources it contains
  azure_rm_resourcegroup:
   name: "{{ item.name }}"
   force_delete_nonempty: yes
   state: absent
  loop: "{{ resource_groups }}"

playbook 移除所有虛擬機並刪除eap-cluster資源組下的所有資源。

Ansible 簡化了 Azure 上的部署

在本文中,我們演示了在 Microsoft Azure 上使用 Ansible 創建資源並使用 Ansible Middleware 項目中的工具部署 JBoss EAP 集群的分步過程。查看 ansible -middleware GitHub 組織和Ansible Middleware 網站中的其他集合和演示。

鏈接:https ://developers.redhat.com/articles/2022/08/17/how-ansible-simplifies-jboss-eap-deployment-azure

#redhat #aruze #jboss

如何使用 Ansible 自動化在 Azure 上部署 JBoss EAP
Minh  Nguyet

Minh Nguyet

1659362160

Bảo Mật SaaS Trong Môi Trường Kubernetes

Bảo mật đặc biệt quan trọng đối với môi trường Phần mềm dưới dạng Dịch vụ (SaaS) , nơi nền tảng được sử dụng bởi nhiều người khác nhau, những người cần sự tin tưởng rằng dữ liệu của họ được lưu trữ an toàn và giữ kín với những người dùng không liên quan. Bài viết này tập trung vào các mối quan tâm về bảo mật đối với các vùng chứa khi triển khai SaaS của bạn đang chạy trong môi trường Kubernetes chẳng hạn như Red Hat OpenShift . Bài viết là bài thứ năm trong loạt bài có tên là danh sách kiểm tra kiến ​​trúc SaaS bao gồm các cân nhắc về phần mềm và triển khai cho các ứng dụng SaaS.

Kiểm soát bảo mật và thực hành cho SaaS

Trong môi trường doanh nghiệp hiện đại, bảo mật cần được xây dựng trong toàn bộ vòng đời của việc lập kế hoạch, phát triển, vận hành và bảo trì. Các biện pháp kiểm soát và thực hành an ninh tốt là rất quan trọng để đáp ứng các yêu cầu về tuân thủ và quy định cũng như đảm bảo rằng các giao dịch đáng tin cậy và có hiệu suất cao. Bảo mật trong SaaS có thể được chia thành năm lớp chính: phần cứng, hệ điều hành, vùng chứa, Kubernetes và mạng. Hình 1 cho thấy các lớp này và các biện pháp kiểm soát bảo mật giải quyết các mối đe dọa ở mỗi lớp.

Các lớp SaaS và các tính năng bảo mật của chúng trong Kubernetes và OpenShift.

Hình 1: Các lớp SaaS và các tính năng bảo mật của chúng trong Kubernetes và OpenShift.

Bảo mật cần được giải quyết ở mọi lớp vì bất kỳ lỗ hổng nào trong một lớp này đều có thể bị khai thác để xâm phạm các lớp khác. Đối với mỗi lớp, Kubernetes và OpenShift có các tính năng và kiểm soát bảo mật sẽ được đề cập trong bài viết này. Các bài viết trong tương lai sẽ đi vào chi tiết hơn về các chủ đề bảo mật SaaS cụ thể. Nếu có bất kỳ chủ đề SaaS nào mà bạn muốn xem một bài báo, hãy cho chúng tôi biết trong phần bình luận.

Bảo mật ở lớp phần cứng

Bảo mật môi trường SaaS thường bắt đầu với việc xác định nơi ứng dụng sẽ chạy và các mối quan tâm về bảo mật đối với môi trường đó. Môi trường an toàn bao gồm trung tâm dữ liệu thực tế cũng như bản thân phần cứng, bao gồm mã hóa đĩa, khởi động an toàn, mật khẩu cấp BIOS và việc sử dụng các mô-đun bảo mật phần cứng (HSM). Bí mật và quản lý danh tính sẽ được thảo luận ở phần sau của bài viết này.

Mặc dù rất nhiều người chú ý đến việc sử dụng mã hóa để bảo vệ dữ liệu đang truyền khi nó đi qua mạng, nhưng việc bảo vệ dữ liệu ở trạng thái nghỉ cũng rất quan trọng vì nó được lưu trữ trên các thiết bị lưu trữ vật lý trong trung tâm dữ liệu. Rủi ro đối với dữ liệu ở trạng thái nghỉ cao hơn nhiều trong các trung tâm dữ liệu nơi bạn thiếu quyền kiểm soát quyền truy cập vào cơ sở và nơi các nhà thầu bên thứ ba có thể được thuê. Sử dụng mã hóa đĩa để bảo mật dữ liệu ở trạng thái nghỉ bằng cách bảo vệ dữ liệu được lưu trữ trên máy chủ vật lý khỏi bị truy cập ngoài ý muốn.

HSM thường là một thiết bị vật lý lưu trữ an toàn các khóa kỹ thuật số thông qua mã hóa để bảo vệ dữ liệu nhạy cảm. HSM được sử dụng để quản lý và bảo vệ thông tin xác thực, khóa, chứng chỉ và bí mật bảo mật trong khi nghỉ và khi đang vận chuyển. HSM cung cấp mức độ bảo vệ cao hơn so với các phương pháp chỉ sử dụng phần mềm như kho bí mật.

Các HSM đám mây có sẵn từ các nhà cung cấp đám mây lớn để tăng cường khả năng bảo vệ trong môi trường đám mây. HSM được khuyến nghị để quản lý bí mật trong môi trường SaaS.

Bảo vệ quyền truy cập vào máy chủ bằng cách cho phép khởi động an toàn và sử dụng mật khẩu cấp BIOS. Khởi động an toàn là một tính năng bảo mật phần sụn của Giao diện phần mềm mở rộng hợp nhất (UEFI) đảm bảo rằng chỉ phần mềm bất biến và đã ký mới có thể chạy trong quá trình khởi động.

Để biết thêm thông tin, hãy xem:

Bảo mật hệ điều hành

Mọi cụm Kubernetes đều chạy trên một số hệ điều hành cơ bản (OS). Các tính năng bảo mật và tăng cường ở lớp OS giúp bảo vệ toàn bộ cụm, vì vậy điều quan trọng là phải bật và sử dụng các điều khiển cấp OS.

Khi nói đến việc tăng cường bảo mật ở cấp độ hệ điều hành, Red Hat OpenShift có hai lợi thế khác biệt. Đầu tiên, Linux được tăng cường bảo mật (SELinux) được tích hợp và kích hoạt ngay lập tức. Thứ hai, OpenShift chạy trên Red Hat Enterprise Linux CoreOS, một hình ảnh hệ điều hành duy nhất được điều chỉnh để sử dụng SaaS.

Linux tăng cường bảo mật

SELinux là một kiến ​​trúc bảo mật dành cho các hệ thống Linux cấp cho quản trị viên quyền kiểm soát chi tiết hơn đối với quyền truy cập vào tài nguyên hệ thống so với khả năng có sẵn với Linux mặc định. SELinux định nghĩa các điều khiển truy cập bắt buộc cho các ứng dụng, quy trình và tệp trên hệ thống. Trên nút Kubernetes, SELinux bổ sung một lớp bảo vệ quan trọng chống lại các lỗ hổng phá vỡ vùng chứa .

Do đó, một trong những biện pháp bảo mật hiệu quả nhất là kích hoạt và cấu hình SELinux, mà Red Hat đã đưa ra tiêu chuẩn trên tất cả các cụm OpenShift. Đây được coi là phương pháp hay nhất để sử dụng SELinux trong môi trường SaaS. Trong OpenShift, SELinux tăng cường bảo mật vùng chứa bằng cách đảm bảo tách vùng chứa thực sự và kiểm soát truy cập bắt buộc.

Để biết thêm thông tin, hãy xem:

Một hệ điều hành cứng cho vùng chứa: Red Hat Enterprise Linux CoreOS

Hệ điều hành của OpenShift, Red Hat Enterprise Linux CoreOS, dựa trên Red Hat Enterprise Linux và sử dụng cùng một nhân, mã và các quy trình phát triển nguồn mở. Phiên bản đặc biệt này đi kèm với một tập hợp con cụ thể của các gói Red Hat Enterprise Linux, được thiết kế để sử dụng trong các cụm OpenShift 4. Các tính năng chính giúp hệ điều hành này an toàn hơn là:

Dựa trên Red Hat Enterprise Linux: Hệ điều hành cơ bản chủ yếu là các thành phần Red Hat Enterprise Linux, có nghĩa là nó có cùng chất lượng, bảo mật, các biện pháp kiểm soát và hỗ trợ. Khi một bản sửa lỗi được đẩy lên Red Hat Enterprise Linux, bản sửa lỗi đó cũng được đẩy lên Red Hat Enterprise Linux CoreOS.

Tính bất biến được kiểm soát: Red Hat Enterprise Linux CoreOS được quản lý thông qua API OpenShift, dẫn đến việc quản lý hệ điều hành dễ dàng hơn. Quản lý chủ yếu được thực hiện hàng loạt cho tất cả các nút trong toàn bộ cụm OpenShift. Trạng thái mới nhất của hệ thống Red Hat Enterprise Linux CoreOS được lưu trữ trên cụm, giúp dễ dàng thêm các nút mới hoặc đẩy các bản cập nhật cho tất cả các nút. Với tính chất giao dịch và quản lý tập trung của HĐH, chỉ có thể sửa đổi một số cài đặt hệ thống trên bản cài đặt Red Hat Enterprise Linux CoreOS.

Các công cụ vùng chứa dòng lệnh: Red Hat Enterprise Linux CoreOS bao gồm các công cụ vùng chứa tương thích với đặc tả Open Container Initiative (OCI) để xây dựng, sao chép và quản lý hình ảnh vùng chứa. Nhiều tính năng quản trị thời gian chạy vùng chứa có sẵn thông qua Podman. Lệnh skopeo sao chép, xác thực và ký hình ảnh. Lệnh crictl cho phép bạn xem và khắc phục sự cố vùng chứa và nhóm.

Cập nhật giao dịch mạnh mẽ: Red Hat Enterprise Linux CoreOS cung cấp quy trình nâng cấp rpm-ostree , đảm bảo rằng quá trình nâng cấp diễn ra nguyên tử. Nếu có sự cố, hệ điều hành gốc có thể được khôi phục trong một lần khôi phục.

OpenShift xử lý các nâng cấp hệ điều hành thông qua Máy vận hành cấu hình máy (MCO), bao gồm nâng cấp hệ điều hành hoàn chỉnh thay vì các gói riêng lẻ như trong nâng cấp Yum truyền thống. OpenShift cũng cập nhật các nút thông qua bản cập nhật liên tục để giảm thiểu tác động của các bản cập nhật và duy trì dung lượng cụm. Trong quá trình cài đặt và nâng cấp, cây hệ thống tệp bất biến mới nhất được đọc từ hình ảnh vùng chứa, được ghi vào đĩa và được tải vào bộ nạp khởi động. Máy sẽ khởi động lại vào phiên bản hệ điều hành mới, đảm bảo cập nhật nguyên tử.

Bảo mật trong quá trình cài đặt cụm: Red Hat Enterprise Linux CoreOS giảm thiểu các quyết định bảo mật trong quá trình cài đặt. Hai tính năng bảo mật được coi là quyết định khởi động trước đầu tiên cho các hoạt động cụm: hỗ trợ mật mã FIPS và mã hóa toàn bộ đĩa (FDE). Sau khi cụm được khởi động, cụm có thể được định cấu hình thêm cho các thay đổi cấp nút khác.

Lớp chứa

Lớp vùng chứa trong Kubernetes và OpenShift cách ly các quy trình với nhau và với Hệ điều hành cơ bản. Thay vì thiết kế phần mềm truyền thống, nơi tất cả các thành phần được liên kết, triển khai cùng nhau và cuối cùng phụ thuộc vào nhau, các thùng chứa là độc lập, dẫn đến tác động nhỏ hơn. Nếu một thùng chứa bị hỏng, nó có thể dễ dàng được thay thế. Nếu một hình ảnh vùng chứa được phát hiện có lỗ hổng bảo mật, lỗ hổng đó sẽ được tách biệt với hình ảnh đó và chỉ yêu cầu cập nhật hình ảnh đó thay vì toàn bộ cụm.

Red Hat OpenShift có nhiều tính năng cải thiện bảo mật vùng chứa cho môi trường nhiều đối tượng.

Động cơ container

Công cụ vùng chứa cung cấp các công cụ để tạo hình ảnh vùng chứa và khởi động vùng chứa. Trong OpenShift, công cụ chứa mặc định là CRI-O , hỗ trợ các vùng chứa tuân theo OCI và libcontainerd. Công cụ container tập trung vào các tính năng cần thiết của Giao diện thời gian chạy container (CRI) của Kubernetes. Công cụ chứa tùy chỉnh này thu nhỏ bề mặt có sẵn cho một cuộc tấn công bảo mật, vì công cụ chứa không chứa các tính năng không cần thiết như sử dụng dòng lệnh trực tiếp hoặc các phương tiện điều phối.

Chúng tôi cũng đã căn chỉnh CRI nhiều hơn với Kubernetes: Các bản cập nhật cho CRI-O được thực hiện để hoạt động tốt hơn với bản phát hành Kubernetes hiện tại.

Bảo mật vùng chứa trong nhân Linux

Kernel cung cấp các tính năng để đảm bảo tính bảo mật của các thùng chứa và mọi thứ khác đang chạy trên HĐH. Trước hết, tất cả các vùng chứa được khởi chạy bên trong một không gian tên tạo ra một hộp cát riêng biệt tách biệt các vùng chứa, hệ thống tệp, quy trình và mạng.

Tính năng tiếp theo là các nhóm điều khiển (cgroups), chúng cô lập việc chia sẻ tài nguyên phần cứng giữa các vùng chứa và các nút của cụm OpenShift. Việc sử dụng cgroups ngăn chặn bất kỳ quá trình hoặc vùng chứa nào sử dụng hết các tài nguyên có sẵn trên một máy chủ lưu trữ.

Cuối cùng, như chúng ta đã thảo luận trước đó, Red Hat Enterprise Linux CoreOS kích hoạt SELinux, ngăn một vùng chứa phá vỡ sự cô lập của nó và do đó can thiệp gián tiếp vào các vùng chứa khác trên cùng một máy chủ.

Bảo mật cụm trên Kubernetes và Red Hat OpenShift

Cấp độ cụm kiểm soát cách Kubernetes triển khai máy chủ, quản lý tài nguyên được chia sẻ, kiểm soát thông tin liên lạc giữa các bộ điều khiển, quản lý mở rộng quy mô và kiểm soát quyền truy cập vào cụm. Một cụm OpenShift được tạo thành từ một mặt phẳng điều khiển, các nút công nhân và bất kỳ tài nguyên bổ sung nào cần thiết. Các phần phụ sau đây đề cập đến một số mối quan tâm về bảo mật đối với các khía cạnh khác nhau của cụm.

Điều khiển máy bay cách ly

Nó được coi là một phương pháp hay nhất để cô lập các nút mặt phẳng điều khiển của cụm khỏi các nút công nhân. Điều này thường được thực hiện bằng cách sử dụng phần cứng riêng biệt cho mặt phẳng điều khiển để giảm thiểu tác động của mọi cấu hình sai, sự cố quản lý tài nguyên hoặc lỗ hổng.

Quản lý danh tính

Mỗi cụm Kubernetes cần một số hình thức quản lý danh tính. Ngoài ra, Red Hat OpenShift đi kèm với nhà cung cấp OAuth mặc định , được sử dụng để xác thực dựa trên mã thông báo. Nhà cung cấp này có một kubeadmintài khoản người dùng duy nhất, bạn có thể sử dụng tài khoản này để định cấu hình nhà cung cấp danh tính thông qua tài nguyên tùy chỉnh (CR) . OpenShift hỗ trợ  các nhà cung cấp nhận dạng tiêu chuẩn OpenID Connect  và LDAP. Sau khi danh tính được xác định, hãy sử dụng kiểm soát truy cập dựa trên vai trò (RBAC) để xác định và áp dụng quyền.

Kiểm soát truy cập cụm

Trước khi người dùng tương tác với cụm, trước tiên họ phải xác thực thông qua máy chủ OAuth. Các kết nối nội bộ đến máy chủ API được xác thực bằng chứng chỉ X.509.

Ràng buộc bối cảnh bảo mật

Ràng buộc bối cảnh bảo mật (SCC) là một tính năng bảo mật của OpenShift giới hạn quyền truy cập tài nguyên của nhóm và các hành động được phép. SCC cho phép quản trị viên kiểm soát phần lớn cấu hình của nhóm, chẳng hạn như ngữ cảnh SELinux của một vùng chứa, liệu một nhóm có thể chạy các vùng chứa đặc quyền hay không và việc sử dụng các thư mục lưu trữ dưới dạng ổ đĩa. Trong OpenShift, SCC được bật theo mặc định và không thể tắt. SCC có thể cải thiện sự cô lập trong việc triển khai SaaS và giảm tác động của các lỗ hổng tiềm ẩn.

Pod SCC được xác định bởi nhóm mà người dùng thuộc về cũng như tài khoản dịch vụ, nếu được chỉ định. Theo mặc định, các nút công nhân và các nhóm đang chạy trên chúng sẽ nhận được loại SCC restricted. Loại SCC này ngăn các nhóm chạy dưới dạng đặc quyền và yêu cầu chúng chạy dưới một UID được chọn trong thời gian chạy từ một dải UID được phân bổ trước.

Bí mật

Trong triển khai SaaS, người thuê cần bảo mật dữ liệu nhạy cảm của họ trên cụm. Điều này được xử lý với các đối tượng Bí mật trên OpenShift. Đối tượng bí mật nắm giữ thông tin nhạy cảm như mật khẩu, tệp cấu hình ứng dụng khách OCP, thông tin đăng nhập của kho lưu trữ nguồn riêng tư, v.v. Cách sử dụng Đối tượng bí mật này sẽ tách nội dung nhạy cảm khỏi nhóm.

Khi cần nội dung nhạy cảm, nội dung đó có thể được gắn vào vùng chứa thông qua plugin khối lượng hoặc hệ thống có thể sử dụng các bí mật để thực hiện hành động thay mặt cho nhóm. Các thuộc tính chính của bí mật bao gồm:

  • Dữ liệu bí mật có thể được tạo bởi một thực thể, chẳng hạn như một công cụ cấu hình và được tham chiếu bởi một thực thể khác, chẳng hạn như một ứng dụng.
  • Khối lượng dữ liệu bí mật được hỗ trợ bởi các phương tiện lưu trữ tệp tạm thời (tmpfs) và không bao giờ dừng lại trên một nút.
  • Dữ liệu bí mật có thể được chia sẻ trong một không gian tên.
  • Dữ liệu bí mật có thể được mã hóa tùy ý .

Để biết thêm thông tin, hãy đọc Cung cấp dữ liệu nhạy cảm cho nhóm .

Red Hat Advanced Cluster Security cho Kubernetes

Ngoài các tính năng bảo mật tiêu chuẩn trong Red Hat OpenShift, Red Hat cung cấp các sản phẩm bổ sung để tăng cường bảo mật cho nền tảng. Một trong số đó là Red Hat Advanced Cluster Security cho Kubernetes (trước đây là StackRox). Red Hat Advanced Cluster Security dành cho Kubernetes bảo vệ các ứng dụng quan trọng của bạn trong các giai đoạn xây dựng, triển khai và thời gian chạy. Nó triển khai trong cơ sở hạ tầng của bạn và dễ dàng tích hợp với công cụ DevOps và quy trình làm việc. Sự tích hợp này giúp dễ dàng áp dụng các chính sách bảo mật và tuân thủ.

Red Hat Advanced Cluster Security bổ sung thêm tính năng bảo mật tích hợp của OpenShift bằng cách cải thiện các đối tượng bảo mật cốt lõi sau:

  • Cải thiện khả năng hiển thị của môi trường, để quản trị viên có thể dễ dàng phát hiện các vấn đề hơn khi chúng xảy ra.
  • Quản lý các lỗ hổng khi chúng đã được xác định bằng cách triển khai các bản sửa lỗi thông qua đường ống CI / CD tích hợp.
  • Đảm bảo tuân thủ các tiêu chuẩn ngành và các thông lệ tốt nhất.
  • Thêm phân đoạn mạng mạnh mẽ để hạn chế lưu lượng mạng chỉ cho những mục đích sử dụng cần thiết.
  • Xếp hạng dựa trên rủi ro của từng triển khai để xác định khả năng xảy ra rủi ro bảo mật, giúp đảm bảo rằng các triển khai có rủi ro cao nhất được khắc phục ngay lập tức trước tiên.
  • Xác định cấu hình sai và đánh giá quyền truy cập kiểm soát truy cập dựa trên vai trò (RBAC) cho người dùng thông qua quản lý cấu hình,  để đảm bảo rằng cấu hình đáp ứng các phương pháp hay nhất.
  • Phát hiện và phản hồi thời gian chạy để tự động xác định các hành động bất thường có thể cho thấy vi phạm bảo mật hoặc sử dụng sai môi trường.

Để tìm hiểu thêm, hãy xem Giới thiệu ngắn gọn về Bảo mật cụm nâng cao Red Hat cho Kubernetes .

Lớp mạng

Lớp mạng là lớp ngoài cùng của kiến ​​trúc bảo mật. Mạng là nơi xảy ra hầu hết các cuộc tấn công bảo mật CNTT do cấu hình sai và lỗ hổng bảo mật. Lập kế hoạch và cấu hình thích hợp các thành phần của lớp an ninh mạng đảm bảo rằng môi trường được an toàn. Kubernetes có các điều khiển mạng (SDN) do phần mềm xác định có thể cải thiện an ninh mạng trong việc triển khai SaaS. Red Hat OpenShift cung cấp các điều khiển bổ sung dựa trên những gì có sẵn trong Kubernetes.

Chính sách mạng

Chính sách mạng kiểm soát lưu lượng giữa các nhóm bằng cách xác định các quyền mà chúng cần để giao tiếp với các nhóm và điểm cuối mạng khác. OpenShift mở rộng các chính sách bằng cách nhóm các thành phần và quy tắc vào các bộ sưu tập một cách hợp lý để dễ dàng quản lý.

Điều đáng chú ý là các chính sách mạng có tính chất phụ gia. Do đó, khi bạn tạo nhiều chính sách trên một hoặc nhiều nhóm, sự kết hợp của tất cả các quy tắc được áp dụng bất kể thứ tự mà bạn liệt kê chúng. Hành vi nhóm kết quả phản ánh mọi quy tắc cho phép và từ chối đối với việc xâm nhập và đi ra.

Giao diện mạng vùng chứa

Trong một cụm Kubernetes, theo mặc định, các nhóm được gắn vào một mạng duy nhất và có một giao diện mạng vùng chứa (CNI). CNI quản lý kết nối mạng của các vùng chứa và loại bỏ tài nguyên khi vùng chứa bị xóa.

Kubernetes sử dụng các plugin SDN để triển khai CNI. Họ quản lý tài nguyên của giao diện mạng cho các nhóm mới. Các plugin CNI thiết lập cấu trúc mạng phù hợp cho giao tiếp từ nhóm đến nhóm và nhóm với bên ngoài và thực thi các chính sách mạng.

Các tính năng bảo mật mạng Openshift

OpenShift cung cấp các tính năng và thành phần bổ sung sau để bảo mật mạng cho việc triển khai gốc đám mây:

  • Hoạt động mạng: OpenShift bao gồm một tập hợp các nhà khai thác quản lý các thành phần mạng để thực thi các phương pháp hay nhất và giảm thiểu lỗi do con người gây ra.
  • Nhiều giao diện mạng: Kubernetes mặc định dành cho tất cả các nhóm sử dụng một mạng và một giao diện mạng chính, nhưng với OpenShift, bạn có thể định cấu hình các giao diện mạng bổ sung. Điều này cho phép tối ưu hóa mạng để cải thiện hiệu suất và tăng cường cách ly để cải thiện bảo mật.
  • Cải tiến bảo mật khi xâm nhập: OpenShift hiển thị cụm với các tài nguyên bên ngoài hoặc máy khách thông qua tài nguyên định tuyến . Các tuyến cung cấp các tính năng nâng cao không có trong bộ điều khiển Kubernetes Ingress tiêu chuẩn, bao gồm mã hóa lại TLS, chuyển qua TLS và phân chia lưu lượng để triển khai màu xanh lam.
  • Cải tiến bảo mật đầu ra: Trong khi quy tắc OpenShift mặc định cho phép tất cả lưu lượng truy cập rời khỏi cụm mà không có hạn chế, OpenShift có các công cụ để kiểm soát chi tiết và lọc lưu lượng ra ngoài. OpenShift cho phép bạn kiểm soát lưu lượng truy cập thông qua tường lửa đi ra , bộ định tuyến đầu ra và đi ra địa chỉ IP tĩnh .
  • Lưới dịch vụ: Red Hat OpenShift Service Mesh, dựa trên dự án Istio , thêm một lớp trong suốt vào các dịch vụ mạng ứng dụng hiện có đang chạy trong một cụm, cho phép quản lý và giám sát phức tạp mà không yêu cầu thay đổi dịch vụ. Lưới dịch vụ thực hiện điều này bằng cách triển khai proxy trợ giúp cùng với các dịch vụ liên quan để chặn và quản lý tất cả các giao tiếp mạng. Với Red Hat OpenShift Service Mesh, bạn có thể tạo một mạng với các dịch vụ sau: khám phá, cân bằng tải, xác thực dịch vụ-dịch vụ, khôi phục lỗi, chỉ số, giám sát, thử nghiệm A / B, phát hành canary, giới hạn tốc độ, kiểm soát truy cập, và xác thực end-to-end.

Để biết thêm thông tin, hãy xem Hướng dẫn bảo mật OpenShift của Red Hat .

Hợp tác với Red Hat để xây dựng SaaS của bạn

Bài viết này đề cập đến các biện pháp kiểm soát có thể được sử dụng để cải thiện tính bảo mật của việc triển khai SaaS của bạn ở cấp phần cứng, Hệ điều hành, vùng chứa, cụm Kubernetes và mạng. Các bài viết trong tương lai sẽ đi sâu hơn về các chủ đề bảo mật của SaaS.

Red Hat SaaS Foundations là một chương trình đối tác được thiết kế để xây dựng nền tảng SaaS cấp doanh nghiệp trên Red Hat OpenShift hoặc Red Hat Enterprise Linux và triển khai chúng trên nhiều đám mây và phi đám mây. Gửi email cho chúng tôi để tìm hiểu thêm.

Liên kết: https://developers.redhat.com/articles/2022/07/27/saas-security-kubernetes-enosystem-layered-approach#partner_with_red_hat_to_build_your_saas

#sass #kubernetes #redhat

Bảo Mật SaaS Trong Môi Trường Kubernetes