NGINX无法将流量传递给应用程序

NGINX无法将流量传递给应用程序,nginx,Nginx,我在应用程序前面有一个nginx代理(侦听10.10.10.10:80),SSL证书被终止,但在尝试访问登录页面时出现问题,因为nginx将流量重定向到端口80(不侦听) NGINX配置如下所示: server { listen 10.11.11.11:443 ssl; server_name test.example.com; access_log /var/log/nginx/test-access.log main; error_log /var/lo

我在应用程序前面有一个nginx代理(侦听10.10.10.10:80),SSL证书被终止,但在尝试访问登录页面时出现问题,因为nginx将流量重定向到端口80(不侦听)

NGINX配置如下所示:

server {
    listen 10.11.11.11:443 ssl;
    server_name test.example.com;

    access_log  /var/log/nginx/test-access.log main;
    error_log  /var/log/nginx/test-error.log warn;

    client_body_buffer_size 1M;
    client_max_body_size 16M;
    client_body_timeout 12;
    client_header_timeout 12;
    send_timeout 10;

    ssl_certificate        <PATH>/cert.crt;
    ssl_certificate_key    <PATH>/cert.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_ecdh_curve secp384r1;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_stapling on;
    ssl_stapling_verify on;



location / {
    proxy_pass http://10.10.10.10;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_ignore_headers   Expires Cache-Control Set-Cookie;
    proxy_pass_header Content-Type;
    proxy_pass_header Content-Disposition;
    proxy_pass_header Content-Length;
    client_max_body_size 10m;
    client_body_buffer_size 128k;
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
    proxy_buffers 32 4k;
    proxy_max_temp_file_size 0;
    proxy_force_ranges on;
    }
服务器{
听10.11.11.11:443;
服务器名称test.example.com;
access_log/var/log/nginx/test-access.log main;
错误日志/var/log/nginx/test-error.log警告;
客户机\机身\缓冲器\尺寸1M;
客户机最大机身尺寸16M;
客户端\主体\超时12;
客户端\头\超时12;
发送超时10;
ssl_证书/cert.crt;
ssl_证书_密钥/cert.key;
ssl_协议TLSv1 TLSv1.1 TLSv1.2;
ssl首选服务器上的密码;
ssl_密码“EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH”;
ssl_ecdh_曲线secp384r1;
ssl_会话_缓存共享:ssl:10m;
ssl_会话_门票关闭;
ssl_钉合;
ssl_装订_验证打开;
地点/{
代理通行证http://10.10.10.10;
代理集头X-Real-IP$remote\u addr;
代理设置头主机$Host;
代理\u忽略\u头过期缓存控制集Cookie;
代理\传递\头内容类型;
代理\通过\头内容处理;
代理\传递\头内容长度;
客户最大身体尺寸10米;
客户端\主体\缓冲区\大小128k;
代理连接超时90;
代理发送超时90;
代理读取超时90;
代理缓存324k;
代理\u最大\u临时\u文件\u大小0;
代理力范围为on;
}
}

NGINX将流量重定向到10.11.11.11:443和10.10.10.10:80需要什么

PS如果我手动为失败的请求输入FQDN(),则请求将成功

希望我能解释清楚:)


谢谢。

听起来您正在使用IP地址(10.11.11.11)进行测试,并且您的代理传递端点(10.10.10.10)配置为仅接受HTTP(TCP端口80)上指定FQDN(test.example.com)的请求

当它接收到一个域的请求时,它不会识别它,它会将用户重定向到它认为应该工作的地方

你有几个选择来解决这个问题

  • 更新上游服务器以接受额外主机头值的请求
  • 重写响应中的302位置头,将协议从HTTP更改为HTTPS
  • 将服务器块配置为侦听HTTP并将其重定向到HTTPS
  • 将“proxy\u set\u header Host”指令硬编码到test.example.com,使其符合上游的预期(不推荐,因为在对不同问题进行故障排除时,它可能会产生意外的结果)

  • 你能提供更多关于1的信息吗?我将如何为附加主机头值配置它?取决于上游运行的平台/软件。如果是nginx,您可以在服务器块内添加一个附加的server\u name指令