Closed ghost closed 1 year ago
No servidor, foi adicionado o servidor STUN/TURN coturn
com a seguinte configuração (arquivo /etc/turnserver.conf
):
# turnserver.conf
cli-password=ifsc
# Rede
listening-ip=0.0.0.0
listening-ip=::
# Transporte
listening-port=3478
min-port=49152
max-port=65535
# Logging
syslog
verbose
# Identificação do servidor
server-name=ifsc.digital
realm=ifsc.digital
# TLS
fingerprint
cert=/etc/letsencrypt/live/ifsc.digital/fullchain.pem
pkey=/etc/letsencrypt/live/ifsc.digital/privkey.pem
no-tlsv1
no-tlsv1_1
# Autenticação
lt-cred-mech
user=adcipt:adcipt20231
Foi aproveitada a configuração de registros DNS em #30 e certificado digital em #42, e na sequência a configuração foi aplicada com:
systemctl restart coturn
No cliente, foi configurado os servidores STUN (acesso anônimo) e TURN (autenticação conforme arquivo mencionado na mensagem anterior, além do servidor disponibilizado pelo Google:
let iceServers;
if (window.location.host === "ifsc.digital") {
this.socket = io.connect({ path: "/adcipt20231/socket.io/" });
iceServers = [
{
urls: "stun:ifsc.digital",
},
{
urls: "turns:ifsc.digital",
username: "adcipt",
credential: "adcipt20231",
},
{
urls: "stun:stun.l.google.com:19302",
}
];
} else {
this.socket = io();
iceServers = [
{
urls: "stun:stun.l.google.com:19302",
},
];
}
this.ice_servers = { iceServers };
No ambiente de desenvolvimento, é usado apenas o servidor do Google. No ambiente de produção, ifsc.digital
, usa-se também o servidor dedicado (STUN e TURN autenticado).
Atualizar o código de #43. Depende de #47.