Servindo arquivos estáticos da web em uma porta não padrão

Servindo arquivos estáticos da web em uma porta não padrão

Estou perto de implantar umDjangoprojeto até a produção. Estou analisando algumas decisões de infraestrutura. Algo que surgiu foi servir arquivos estáticos com um servidor diferente, comolighttpd.

No entanto, estamos começando com um único servidor dedicado, então nossa única opção seria usar uma porta não padrão para o servidor web de arquivos estáticos.

  1. Existe precedência para isso? Ou seja, alguém "grande" faz isso?

  2. Alguma porta específica que devo usar ou evitar usar?

  3. Alguém pode pensar em algumas desvantagens de seguir esse caminho?

Responder1

Você obterá a maior compatibilidade do usuário final usando um endereço IP e TCP/80 diferente do que usaria o mesmo endereço e algo como TCP/8080. Alguns firewalls corporativos realmente restritivos não permitirão conexões com portas estranhas, mesmo as comuns como TCP/8008 ou TCP/8080. Se isso não for uma preocupação para você, a ligação a uma porta alternativa HTTP comum deve ser boa o suficiente para o que você está tentando fazer.

Responder2

Eu apenas configuraria outro host virtual no mesmo servidor da web, para servir o conteúdo estático de "static.example.com", tornando essa alteração trivial no futuro. Você pode fazer do seu jeito, mas provavelmente não verá muito ganho de desempenho, mas tente:

  1. Configure o host virtual do aplicativo Django em localhost:8080
  2. configurarnúcleo proxyter localhost:8080 como back-end
  3. configure um host virtual static.example.com no lighttpd

Existe precedência para isso? Ou seja, alguém "grande" faz isso?

Claro que as pessoas servem conteúdo estático de servidores diferentes. Ouvi dizer que o YouTube é grande nisso.

Alguma porta específica que devo usar ou evitar usar?

Eu evitaria usar portas diferentes de 80, mas sou só eu .. :-)

Alguém consegue pensar em algumas desvantagens de seguir esse caminho?

  1. complicado e com muito pouco ganho se você usar apenas um servidor de aplicativos.
  2. todas as páginas do Django precisam passar por um proxy.
  3. você tem que perguntar aqui .. :-)

informação relacionada