Redirecionamento de domínio nginx, ingress, kubernetes

22 de fevereiro de 2022 Por Ramon Durães

O NGINX é um dos principais serviços de web, proxy reverso, cache web do mercado. Nesse artigo estarei tratando uma necessidade muito especifica que é redirecionar internamente um dominio antigo para um novo endereço e ao mesmo tempo informar o google o código http 302 para que o mesmo atualize o motor de busca com o novo endereço.

Em um cenário tradicional você pode implementar vários recursos diretamente no nginx para o direcionamento de trafego web porém nesse contexto estarei atuando dentro no NGINX Ingress dentro do Kubernetes adicionando uma implementação na configuração do ingress para provocar o redicionamento automático.

1) Edite o aquivo do ingress conforme o exemplo abaixo. Nesse artigo eu não entrarei em detalhes do Ingress e apenas nesse ponto especifico.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress
  annotations:
    nginx.ingress.kubernetes.io/server-snippet: |
      if ($host = 'devprime.tech') {
        return 301 https://devprime.io$request_uri;
      }

2) Aplique no Kubernetes a alteração

3) Execute a url desejada pelo navegador ou pelo curl.

curl -v https://devprime.tech

E terá como resultado o exemplo abaixo:

Trying 52.188.43.174:443…

Connected to devprime.tech (52.188.43.174) port 443 (#0)

schannel: disabled automatic use of client certificate

schannel: ALPN, offering http/1.1

schannel: ALPN, server accepted to use http/1.1

GET / HTTP/1.1
Host: devprime.tech
User-Agent: curl/7.79.1
Accept: /Mark bundle as not supporting multiuse
< HTTP/1.1 301 Moved Permanently
< Date: Tue, 22 Feb 2022 22:33:04 GMT
< Content-Type: text/html
< Content-Length: 162
< Connection: keep-alive
< Location: https://devprime.io/
<
301 Moved Permanently 301 Moved Permanently nginx

Connection #0 to host devprime.tech left intact

Em resumo nós adicionamos um redirecionamento automático de qualquer endereço digitado em https://devprime.tech para o endereço https://devprime.io

Até a próxima!!

Ramon Durães