
Я настроил обратный прокси nginx с Ubuntu Server 22.04 LTS. Веб-приложение Abacus должно быть доступно сhttps://abacus.contoso.comиз интернета. Внутреннее имя сервера — srv06. Моя текущая конфигурация выглядит так (это по сути официальный шаблон от Abacus):
server {
listen 443 ssl;
server_name abacus.contoso.com;
ssl_certificate /etc/nginx/ssl_certs/cert.pem;
ssl_certificate_key /etc/nginx/ssl_certs/cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
resolver 127.0.0.53;
proxy_pass https://abacus.contoso.com:40001$uri$is_args$query_string;
proxy_redirect https://abacus.contoso.com:40001/ https://$host/;
proxy_set_header Host abacus.contoso.com;
client_max_body_size 0;
proxy_connect_timeout 90s;
proxy_send_timeout 90s;
proxy_read_timeout 90s;
send_timeout 90s;
}
}
Веб-сайт доступен, и вход в систему работает в основном. Проблема в веб-приложении, которое запускается поверх самого веб-сайта. После входа в систему загружается файл .abalink и запускается с помощью программного обеспечения AbaClient. Этот AbaClient пытается получить доступ к серверу с помощью URIhttps://abacus.contoso.comчерез прокси - что правильно - но похоже, что nginx или внутренний сервер отвечает на запрос с внутренним именем сервера srv06 вместо имени домена. Это сообщение об ошибке, которое я получаю: "GET request to the Abacus server failed (srv06)".
Что-то не хватает в моем коде? Я относительно новичок в nginx, поэтому надеюсь, что кто-нибудь сможет мне помочь.
Спасибо!
решение1
Я не совсем понимаю, зачем использовать эти слишком сложные настройки прокси-сервера вместо простых настроек по умолчанию.
Попробуй это:
location / {
proxy_pass https://abacus.contoso.com:40001;
proxy_set_header Host abacus.contoso.com;
client_max_body_size 0;
proxy_connect_timeout 90s;
proxy_send_timeout 90s;
proxy_read_timeout 90s;
send_timeout 90s;
}