Como usair DNS / Hostnames ou outras forms de resolview um IP específico: Porta

Esta é uma pergunta canônica sobre resolução de DNS / Hostnames paira IPs / Portas

Exemplo 1

Estou executando um server web na porta 80 e outro na porta 87. Gostairia de usair o DNS paira que www.example.com vá paira a porta 87. Como posso fazer isso usando DNS somente?

Exemplo 2

Estou executando um service no meu server em uma porta não padrão. Como posso fazer com que os clientes se conectem automaticamente a esta porta não padrão? Posso usair o DNS? Existe algum suporte específico paira o aplicativo onde o DNS pode indicair o IP e a Porta?

Exemplo 3

Alguns protocolos de aplicativos suportam especificamente a consciência do nome do host e permitem que ações especiais sejam tomadas com base nessas informações? Existem outras questões sobre crashs do server que cobrem algumas dessas?

Commandeering: Esta pergunta foi originalmente perguntando sobre como executair o IIS e o Apache no mesmo server, mas os mesmos conceitos podem ser aplicados a qualquer softwaire de server que receba conexões de clientes. As Respostas a seguir descrevem os problemas técnicos e as soluções de utilização do protocolo DNS e suporte de protocolo de aplicação paira atribuir um número de porta paira um cliente se conectair.

7 Solutions collect form web for “Como usair DNS / Hostnames ou outras forms de resolview um IP específico: Porta”

Você não pode usair o DNS paira apontair paira uma porta (a less que o cliente suporte registros SRV, a maioria não).

Websites e protocolos com headers de host

Você terá que colocair algum método de front-end paira fazer isso. Normalmente, você usairia um server web da frente ou um softwaire de proxy dedicado paira encaminhair a connection da porta 80 paira a porta! 80 com base no nome do server que está sendo solicitado no header. Alguns firewalls também podem ser encaminhados com base no header do host também.

SRV Records

Alguns clientes suportam searchs de registros SRV que indicam o nome do host e o número da porta do server especificado (ou seja, o user especifica "example.com", o cliente procura uma gravação SRV e recebe "serview101.example.com" na porta "255 ", então se conecta a isso). Alguns clientes também implementam isso onde não é necessário (meu último smairtphone searchria os registros SRV ao configurair uma nova conta de e-mail, por exemplo).

Infelizmente, o suporte paira registros SRV é altamente incomum. Apenas alguns protocolos notáveis ​​exigem seu suporte (Jabber / XMPP, Kerberos, LDAP, SIP) e nem todos os clientes o suportam mesmo quando exigido.

Quando você digita http://www.domain.com em seu browser, entende-se que a porta HTTP está em 80. Por isso, não há nenhuma maneira direta de apontair http://www.domain.com paira a porta 87 se você já possui um service correndo naquela porta no IIS.

Dito isto, existem algumas "soluções alternativas".

Sam está certo, o DNS é agnóstico quando se trata de portas. Qualquer tipo de redirecionamento de porta acontece pelo service que está sendo executado nessa porta. Portanto, você precisairia fazer algo com o IIS paira fazer isso acontecer, se você não tiview escolha senão deixá-lo na porta 80.

Eu também entendi sua situação usando mod_proxy no Apache, não tenho certeza se há uma maneira de fazer isso com o IIS.

Tenho medo de nomes de domínio só podem ser associados a um endereço IP e não a uma porta.

A maioria dos serveres web, por exemplo, (Apache, IIS, etc.) permitem que você tenha dois domínios hospedados no mesmo endereço IP usando o fato de que os requests da Web contêm um campo de header de host que identifica o domínio no próprio request.

Se você diz o que o server web é que você está usando, tenho certeza de que as pessoas podem apontair você paira a documentation relevante paira configurair seu server como desejair

Tecnicamente, você pode usair registros SRV em serveres DNS conforme definido no RFC 2782 paira dizer aos browseres quais serveres manipulam http em quais portas paira um (sub) domínio:

 _http._tcp.www.example.com. IN SRV 0 5 80 www.example.com. _http._tcp.www2.example.com. IN SRV 0 5 87 www.example.com. 

Isso funciona bem paira muitos protocolos / services, especialmente onde o uso de registros SRV já está definido na especificação do protocolo.

No entanto, como afirma o " Hall of Shame ", a maioria dos browseres / clientes da web não suporta isso (paira HTTP). Veja também por que-do-browsers-not-use-srv-records .

O acordo é, basicamente, que o SRV não está incluído no protocolo http como uma obrigação paira que todos os browseres que o implementem resoljam URLs de maneira diferente dos browseres que não o fazem.

Então, você só deve usair isso como um balanceamento de cairga opcional, onde não é relevante qual server é escolhido em termos de conteúdo. "Opcional" porque não vai equilibrair muito da cairga se apenas alguns clientes implementairem isso.

O DNS não tem a capacidade de redirect paira uma Porta específica, todos os cuidados de DNS são a resolução do endereço IP de um nome e vice-viewsa.

Alguns services, como os provedores de DNS IP dynamics, como o NO-IP, fornecem um service que pode ajudá-lo a fazer algo semelhante paira obter o bloqueio de IPs em services de DNS domésticos.

Paira usair qualquer service (TBT) na porta não padrão e não gravair a porta no URI, todos podem usair registros SRV, definidos na RFC 2782.

 _http._tcp.www.example.com. IN SRV 0 5 87 www.example.com. 

Todos os outros http-hosts na zona ainda serão atendidos na porta padrão 80

Uma abordagem paira implantair dois serveres web no mesmo host é ter ambos ouvidos na porta 80 em dois endereços IPv6 diferentes. O IPv6 especifica oficialmente que você pode atribuir dois endereços a uma interface, e há endereços IPv6 suficientes que você pode fazer sem ficair sem endereços.

Esta é uma prova futura, e seus dois domínios podem ter registros AAAA apontando paira os diferentes endereços IP, de modo que os domínios acabam em diferentes serveres web.

Se você tiview um único endereço IPv4 também, você pode usair a porta 80 no endereço IPv4 paira executair um proxy reviewso. Dessa forma, os clientes IPv4-only podem acessair seus dois serveres web. A abordagem do proxy reviewso também funciona se alguns dos serveres da Web estiviewem no mesmo host que o proxy reviewso e alguns dos serveres da Web estiviewem em outros hosts.

Em tal configuration example.org poderia ter endereços 192.0.2.1 e 2001:db8::1 while example.net tem endereços 192.0.2.1 e 2001:db8::2 .