再会!我在 nginx 配置中配置了 upstream 和 proxypass。配置中的任何地方都没有关于域名的信息。上游包含同一个站点所在的主机xxx和yyy的ip地址。Nginx 监听主机 zzz 的 443 端口,并将请求重定向到两台主机之一。证书包含有关域名的信息。尝试通过这个域名时,nginx重定向到主机xxx或yyy,但是我不明白如果我们通过域名,它是如何做到的,并且nginx将请求重定向到ip地址。该配置还包括证书验证。问题的症结所在:如果它们没有以任何方式明确相关,nginx 如何通过域名将请求重定向到 IP 地址?
UPD。该证书包含域名 DOMAIN_NAME。当导航到 DOMAIN_NAME 时,nginx 在 zzz 处获取此请求并重定向到 xxx 或 yyy。所有这些主机都有证书。我对将请求从域名重定向到 IP 地址的原理很感兴趣。
upstream name {
least_conn;
server xxx:1448;
server yyy:1448;
}
server {
listen 443 ssl;
listen 4443 ssl;
server_name zzz;
ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/private/key;
access_log /var/log/nginx-access.log upstreamlog;
location /loc {
proxy_pass https://name/loc;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
}
...
}