A causa do incidente foi o problema de acesso à porta de mapeamento externo do GitLab interno da empresa. Usar a porta 80/443 na rede interna para acessar normalmente, usar uma porta diferente de 80 para acessar a página inicial saltará automaticamente para a porta 80. Manual o acesso à porta é normal, mas isso afeta extremamente a experiência do usuário.
1. Descrição do histórico
A intranet usa um container para construir uma GitLab
plataforma, a Nginx
porta interna é 8081, e IP+Port
o acesso é normal pelo formulário, e então o link reverso é implantado em outras máquinas Nginx
, e o nome de domínio também é usado para acessar normalmente, mas a porta do link reverso for alterado para porta não 80/443, ao acessar a página inicial através do formato de nome de domínio e porta, saltará para a porta 80, resultando em falha de acesso, conforme mostrado abaixo:
http://git.example.com:1443 — > http://git.example.com
Após adicionar manualmente a porta ao endereço URL redirecionado, o acesso volta ao normal, portanto, suspeita-se que possa haver um Nginx
problema de configuração.
2. Resolução de problemas
1. A causa do problema
Nginx
Devido à perda da porta, Nginx
as informações da porta não foram transmitidas corretamente ao backend e a configuração não estava corretaNginx
2. Resolução de problemas
server {
listen 8888;
server_name localhost;
location / {
proxy_set_header Host $host:$server_port; 这一行是关键
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
proxy_set_header Host $host:$server_port;
Esta linha é a chave, deve ser configurada para obter a porta real.