Prueba de getServerPort y getLocalPort

Configure nginx localmente y cambie a una aplicación de arranque de primavera:

Prueba de contenido

Navegador visite abc.com

El proxy Nginx reenvía a localhost: 9999

Observe el contenido de getServerPort y getLocalPort y el encabezado en la aplicación de arranque de primavera

Código java de la aplicación Spring Boot

@RestController
@RequestMapping("/v1/ops")
public class DebugController {

    @GetMapping("/test")
    public void testPort(HttpServletRequest request){
        System.out.println("" + request.getServerPort());
        System.out.println("" + request.getLocalPort());
        printHeader(request);
    }

    private void printHeader(HttpServletRequest request) {
        Enumeration names = request.getHeaderNames();
        System.out.println("============================================");
        while(names.hasMoreElements()){
            String name = (String) names.nextElement();
            System.out.println(name + ":" + request.getHeader(name));
        }
        System.out.println("============================================");
    }
}

Configuración de host local

Modificar / etc / hosts en el entorno ubuntu 

Agregar un 127.0.0.1 abc.com 

Entonces, cuando el navegador visita abc.com, en realidad visita 127.0.0.1 

El puerto predeterminado 80 es el servidor nginx local que está visitando.

configuración nginx

Se agregó el siguiente párrafo:

    server {
        listen       80;
        server_name  abc.com;

        location /v1/ops/ {
            proxy_pass   http://localhost:9999;
        }
    }

sudo nginx -t // comprobar la configuración

sudo nginx -s reload // configuración de la aplicación

Ejecutar prueba

El resultado es el siguiente

serverPort y localPort son ambos 9999

Modifique la configuración de nginx:

    server {
        listen       80;
        server_name  abc.com;

        location /v1/ops/ {
            proxy_pass   http://localhost:9999;
            proxy_set_header Host xxxx.com:7777;
        }
    }

serverPort se convierte en 7777

localPort sigue siendo 9999

Conclusión: el host en el encabezado afectará el valor de retorno de getServerPort

Supongo que te gusta

Origin blog.csdn.net/wuzhong8809/article/details/107184996
Recomendado
Clasificación