Проверка работоспособности контейнера Nginx для AWS-ALB

Мне нужен путь проверки работоспособности для установки ALB, который указывает на сервер, на котором есть докер-контейнер Nginx. У меня нет доступа к серверу EC2, чтобы добавить туда файл. Я могу просто добавить что-то в Docker-Container

. Я пробовал следующее решение, но оно не работает для меня, потому что у меня есть другой блок в моем конфигурационном файле, который, я полагаю, препятствует этому.

Решение Nginx для AWS Amazon ELB Проверки работоспособности - возврат 200 без IF

Мой файл конфигурации выглядит следующим образом:

server 
{    
   listen      443 ssl http2;
   server_name     server-test.com;
   access_log  /var/log/nginx/nginx.access.log;
   error_log   /var/log/nginx/nginx.error.log;
   ssl    on;
   ssl_certificate    /etc/nginx/ssl/cert.pem;
   ssl_certificate_key    /etc/nginx/ssl/server.key;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_prefer_server_ciphers on;
   ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
   ssl_session_timeout 1d;
   ssl_session_cache builtin:1000 shared:SSL:10m;
   ssl_session_tickets off;

   location /
   {
      proxy_pass         http://server-test.io:5015/;
      proxy_redirect     off;

      ##proxy_set_header   Host             $host;
      proxy_set_header   X-Real-IP        $remote_addr;
      proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

      client_max_body_size       10m;
      client_body_buffer_size    128k;

      proxy_connect_timeout      90;
      proxy_send_timeout         90;
      proxy_read_timeout         90;

      proxy_buffer_size          4k;
      proxy_buffers              4 32k;
      proxy_busy_buffers_size    64k;
      proxy_temp_file_write_size 64k;
   }
 }
...
...
...

# Health check url
server {
  location /elb-status {
    access_log off;
    return 200 'A-OK!';
    add_header Content-Type text/plain;
  }
}
# Redirect non-existing domains to 404
server {
  server_name _;
  listen 80 default_server;
  return 404;
}
server {
  server_name _;
  listen 443 ssl;
  ssl_certificate    /etc/nginx/ssl/cert.pem;
  ssl_certificate_key    /etc/nginx/ssl/server.key;
  return 404;
}

Когда я открываю сервер с помощью path / elb-status, он выдает 404 Not Found. А также статус сервера под LoadBalancer ненормальный. Я думаю, это из-за блока: «Перенаправить несуществующие домены», но мне также нужен этот блок.

Любая помощь будет принята с благодарностью.

Отредактировано на основе ответа Энди:

ALB-HealthCheck

ALB-Targer

Nginx Config File in Docker Container

Контейнер Nginx использует оба порты 80 и 443, я настроил целевую группу для серверов, в которую входит контейнер докеров Nginx, на основе этих портов, но все же проверка работоспособности серверов не работает.

Что-то здесь не хватает?

1
задан 21 September 2017 в 15:56
1 ответ

सर्व्हर चालविण्याविषयी कसे दुसर्‍या पोर्टवर [११40०3१]] स्थान / एलब-स्टेटस [११40०3१]] असलेले ब्लॉक? [१२8383] एएलबी तयार करताना, [११40०3१]] प्रगत आरोग्य तपासणी सेटिंग्ज [११40०3१]] ड्रॉपडाउन आहे. या सेटिंग्जमध्ये आपण आरोग्य तपासणी पोर्ट अधिलिखित करू शकता. आपण 8080 सारख्या पोर्टवर सेट करू शकता आणि नंतर आपला सर्व्हर होईलः [१२8484] या सेटअपमध्ये आरोग्य तपासणीसाठी व्हर्च्युअल होस्ट आधारित मार्ग आवश्यक नाही. [११40०3२१] 11०80० [११40०3२२] केवळ आरोग्य तपासणीसाठीच समर्पित असेल. [१२8585] आपण या मार्गावर जाणे निवडल्यास ALB आणि EC2 घटना दरम्यान आपल्या सुरक्षा गटात योग्य पोर्ट उघडण्यास विसरू नका. [११ 11००80०]

2
ответ дан 3 December 2019 в 20:19

Теги

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