nginx docker撰写重定向延迟

时间:2019-01-16 22:16:34

标签: docker nginx redirect docker-compose

我的docker-compose和nginx设置的行为特别奇怪。我正在尝试向后端Web服务发送nginx proxy_pass请求。 Web服务是Spring Boot,但我认为这无关紧要。我的Web服务将向未经身份验证的用户发出302重定向,将其发送到/ login页面。除了我启动docker-compose的不确定时间段外,这一切似乎都按预期工作。对服务的早期请求导致302响应导致超时,而直接发往/ login页面的请求将按预期立即返回。经过一段不确定的时间(通常是几分钟)后,似乎稳定下来了,一切都按预期进行。我已经使用客户端计算机上的chrome验证了该行为,并直接在运行compose的主机上进行了卷曲。我认为302响应会有所下降,但我不确定。

有人可以发现问题吗?

    version: '3.5'
    services:
      proxy:
        image: nginx:latest
        container_name: "proxy"
        restart: always
        volumes:
        - blah:/etc/nginx
        ports:
        - 80:80
        - 443:443

      webservice:
        image: "webservice:latest"
        container_name: "webservice"
        restart: always
        ports:
        - 8080:8080

Nginx配置:

    worker_processes auto;

    events { }

    http {

      server {

        listen 80 default_server;
        listen 443 default_server ssl;

        ssl_certificate /etc/nginx/cert;
        ssl_certificate_key /etc/nginx/key;

        if ($scheme = http) {
          return 301 https://$host:443$request_uri;
        }

        gzip on;
        gzip_types text/plain application/xml application/json     application/javascript;

        location / {
           proxy_http_version 1.1;
           proxy_pass http://webservice:8080/;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
           proxy_set_header Host                 $host:$server_port;
           proxy_set_header X-Real-IP            $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Forwarded-Port $server_port;
           access_log /etc/nginx/log/access.log combined;
           error_log /etc/nginx/log/error.log warn;
        }
      }
    }

0 个答案:

没有答案