Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subdomínios padronizados com HTTP/HTTPS para portas comuns #57

Open
fititnt opened this issue Jun 1, 2019 · 1 comment
Open

Subdomínios padronizados com HTTP/HTTPS para portas comuns #57

fititnt opened this issue Jun 1, 2019 · 1 comment
Labels
mvp-ok Um produto mínimo viável desse issue já foi instalado em pelo menos um servidor server-aguia-pescadora Servidor(es): aguia-pescadora.etica.ai

Comments

@fititnt
Copy link
Owner

fititnt commented Jun 1, 2019


TL;DR: As portas e domínios considerados são múltiplos de milhar de 2.000 a 9.000, exceto a 8080 e 8888. Os subdomínios "apa.etica.ai" são Alpha #17; os "apb.etica.ai" são Bravo #16, e os "lb-ap.etica.ai" Balanceamento de carga via Round-robin DNS #40

Portas

  • 2000
  • 3000
  • 4000
  • 5000
  • 6000
  • 7000
  • 8000
  • 8080 (oito, zero, oito, zero)
  • 8888 (oito oito oito oito)
  • 9000

Os servidores Servidores Águia Pescadora #5 (diferente de por exemplo fititnt/chatops-wg onde o uso/documentação foi docker) são máquinas virtuais comuns. Ou seja, mesmo quem não tem poder de sudo pode iniciar aplicações em qualquer porta acima de 1024 que não esteja sendo usada, como http://aguia-pescadora-bravo.etica.ai:12345

Como uma forma de adiantar trabalho para quem quer fazer testes rápidos e precisa ter um domínio HTTPS (ou que simplesmente o app que está testando força ser acessível apenas via localhost) nós já deixamos configurado subdomínios para as portas mais comuns usadas em desenvolvimento.

Por exemplo, uma pessoa que que dê use o seguinte código da documentação oficial do NodeJS:

// https://nodejs.org/en/docs/guides/getting-started-guide/
const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

e salvar em um arquivo app.js e então rodar por terminal com nodejs app.js você imediatamente https://3000.apa.etica.ai/ ou https://3000.apa.etica.ai/ e o Load Balancer http://3000.lb-ap.etica.ai.

O que fazer depois?

Caso você queira deixar seu app hospedado de fato em um ou mais dos servidores da A.P, recomendamos:

  • Aponte um domínio ou subdomínio para UMA, e apenas UMA, das seguintes opções a seguir
    • CNAME aguia-pescadora-alpha.etica.ai TTL 15min
      • Caso seu app esteja na aguia-pescadora-alpha.etica.ai
    • CNAME aguia-pescadora-bravo.etica.ai TTL 15min
      • Caso seu app esteja na aguia-pescadora-bravo.etica.ai
    • CNAME lb-ap.etica.ai TTL 2min (ou o mais baixo que puder, como 30s)
      • Caso seu app esteja em dos os servidores aguia-pescadora
      • Dica:
        • a gente pode procurar deixar bancos de dados e afins nos Servidores em cluster Elefante Bornéu Servidores em cluster Elefante Bornéu #45
        • Você pode escolher um dos seus servidores como "principal" (que envia alterações de código) e (seja manualmente, ou via script que vê quando tem alteração no disco) um rsync envia alterações para os outros servidores.
          • Sim, é possível implementar GlusterFS ou afins, mas mas a performance não é tão alta principalmente se comparado com Redis Redis #51 ou um Memcached.
  • Caso você não tenha um domínio, podemos criar um subdomínio.
  • Seu app (para ficar rodando por períodos maiores) idealmente deve ser movido para alguma outra porta interna, visto que esses domínios ainda continuariam acessando seu app mesmo com uma URL dedicada se a porta não for trocada!

HTTP/HTTPS para portas padrões

Essa lista foi colocada aqui para facilitar quem quer clicar rápido e ver quais portas estão livres.


Edições

  1. Adicionado lista de URls e TL;DR
  2. Melhorada descrição longa de como usar os domínios comuns
@fititnt fititnt added the server-aguia-pescadora Servidor(es): aguia-pescadora.etica.ai label Jun 1, 2019
fititnt added a commit that referenced this issue Jun 1, 2019
…o HTTP/HTTPS para 2000, 3000, 4000, 5000, 6000, 7000, 8000, 8080, 9000
fititnt added a commit that referenced this issue Jun 1, 2019
…portas-localhost (#57): implementado http(s) para porta em AP Alpha; mensagem de 502 Bad Gateway substituída por 501 Not Implemented
@fititnt
Copy link
Owner Author

fititnt commented Jun 1, 2019

Adicionado os apontamentos na CloudFlare

Captura de tela de 2019-05-31 23-37-38
Captura de tela de 2019-06-01 00-51-59

@fititnt fititnt added the mvp-ok Um produto mínimo viável desse issue já foi instalado em pelo menos um servidor label Jun 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mvp-ok Um produto mínimo viável desse issue já foi instalado em pelo menos um servidor server-aguia-pescadora Servidor(es): aguia-pescadora.etica.ai
Projects
None yet
Development

No branches or pull requests

1 participant