Мне нужен путь проверки работоспособности для установки 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 ненормальный. Я думаю, это из-за блока: «Перенаправить несуществующие домены», но мне также нужен этот блок.
Любая помощь будет принята с благодарностью.
Отредактировано на основе ответа Энди:
Контейнер Nginx использует оба порты 80 и 443, я настроил целевую группу для серверов, в которую входит контейнер докеров Nginx, на основе этих портов, но все же проверка работоспособности серверов не работает.
Что-то здесь не хватает?
सर्व्हर चालविण्याविषयी कसे
दुसर्या पोर्टवर [११40०3१]] स्थान / एलब-स्टेटस [११40०3१]] असलेले ब्लॉक? [१२8383] एएलबी तयार करताना, [११40०3१]] प्रगत आरोग्य तपासणी सेटिंग्ज [११40०3१]] ड्रॉपडाउन आहे. या सेटिंग्जमध्ये आपण आरोग्य तपासणी पोर्ट अधिलिखित करू शकता. आपण 8080
सारख्या पोर्टवर सेट करू शकता आणि नंतर आपला सर्व्हर
होईलः [१२8484] या सेटअपमध्ये आरोग्य तपासणीसाठी व्हर्च्युअल होस्ट आधारित मार्ग आवश्यक नाही. [११40०3२१] 11०80० [११40०3२२] केवळ आरोग्य तपासणीसाठीच समर्पित असेल. [१२8585] आपण या मार्गावर जाणे निवडल्यास ALB आणि EC2 घटना दरम्यान आपल्या सुरक्षा गटात योग्य पोर्ट उघडण्यास विसरू नका. [११ 11००80०]