Eu vejo duas maneiras possíveis de interpretar sua pergunta:
1) Você poderia significar um redirecionamento em vez de uma "reescrita" (um termo do servidor web). Você quer mostrar o domínio, não o IP para o cliente. Isso é um redirecionamento.
server {
listen 123.123.123.123:6000;
return 301 https://my.domain.com$request_uri;
}
2) Você pode querer dizer que o tráfego de lá vai para um servidor de back-end específico. Mais uma vez, não acho que você queira reescrever.
server {
listen 123.123.123.123:6000;
location / {
proxy_pass http://my.domain.com;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
Para ser mais completo, talvez você já tenha conteúdo para / e deseje apenas que um / caminho seja exibido pelo outro servidor:
server {
listen 123.123.123.123:6000;
location ~ /some/path {
proxy_pass http://my.domain.com;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
location / {
proxy_pass http://123.123.123.123:80;
proxy_http_version 1.1;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Proxy-Connection "Keep-Alive";
}
}
Este último é uma técnica comum para expor vários sistemas de micro-serviços como um, unificando assim o domínio e simplificando o SSL. No meu caso, costumo mapear qualquer coisa com _ para o meu cluster do Elasticsearch.