Sto ospitando un sito Web su un'istanza EC2. In che modo posso consentire agli utenti di connettersi sulle porte HTTP (80) o HTTPS (443)?

6 minuti di lettura
0

Ospito il mio sito Web su un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Voglio che gli utenti si connettano al mio sito Web su HTTP (porta 80) o su HTTPS (porta 443). In che modo posso farlo?

Risoluzione

Per permettere il traffico sulle porte 80 e 443, devi configurare il gruppo di sicurezza associato e la lista di controllo accessi della rete.

Regole del gruppo di sicurezza

Per il traffico HTTP, aggiungi una regola in entrata sulla porta 80 dall’indirizzo fonte 0.0.0.0/0.

Per il traffico HTTPS, aggiungi una regola in entrata sulla porta 443 dall’indirizzo fonte 0.0.0.0/0.

Tali regole in entrata permettono il traffico dagli indirizzi IPv4. Per permettere il traffico degli indirizzi IPv6, aggiungi regole in entrata sulle stesse porte dall'indirizzo di origine ::/0. Per ulteriori informazioni sulla creazione o la modifica dei gruppi di sicurezza, consulta la pagina Controlla il traffico verso le risorse utilizzando gruppi di sicurezza.

I gruppi di sicurezza sono gruppi con stato, per cui il traffico di ritorno dall'istanza verso gli utenti viene consentito automaticamente. Non è necessario modificare le regole in uscita del gruppo di sicurezza.

Nota: l'esempio seguente mostra le regole del gruppo di sicurezza per consentire il traffico IPv4 e IPv6 sulle porte TCP 80 (HTTP) e 443 (HTTPS). Stabilisci se per il tuo caso d'uso devono essere consentite altre fonti di traffico, come SSH o RDP, per accedere all'istanza. Quindi, assicurati che il tuo SG abbia le regole in entrata pertinenti per consentire il traffico necessario.

Regole in entrata

TipoProtocolloIntervallo di porteFonte
HTTP (80)TCP (6)800.0.0.0/0
HTTP (80)TCP (6)80::/0
HTTPS (443)TCP (6)4430.0.0.0/0
HTTPS (443)TCP (6)443::/0

Lista di controllo degli accessi alla rete (ACL di rete)

L'ACL di rete predefinita consente tutto il traffico IPv4 in entrata e in uscita. Se i tuoi utenti si connettono tramite IPv6 e Amazon Virtual Private Cloud (Amazon VPC) ha un blocco CIDR per IPv6 associato, anche l'ACL di rete predefinita aggiunge automaticamente regole che consentono tutto il traffico IPv6 in entrata e in uscita. Se utilizzi una lista di controllo degli accessi alla rete con regole più restrittive, devi permettere esplicitamente il traffico sulle porte 80 e 443.

Le liste di controllo degli accessi alla rete sono senza stato, per cui devi aggiungere regole sia in entrata che in uscita per abilitare la connessione al tuo sito Web. Per ulteriori informazioni su come modificare le regole della lista di controllo degli accessi alla rete, consulta l'articolo Controllo del traffico alle sottoreti usando le liste di controllo degli accessi alla rete.

Nota: l'esempio seguente mostra una lista di controllo degli accessi alla rete personalizzata che consente il traffico sulle porte TCP 80 (HTTP) e 443 (HTTPS). Le ACL di rete vengono applicate a tutte le risorse di un'intera sottorete, non solo a una singola istanza EC2. Nella configurazione di esempio, tutto il traffico da e verso le risorse nella stessa sottorete è bloccato, ad eccezione delle porte di destinazione 80 e 443. Stabilisci se per il tuo caso d'uso devono essere consentite altre fonti di traffico, come SSH o RDP, per accedere all'istanza. Quindi, assicurati di disporre delle regole in entrata pertinenti per consentire il traffico necessario.

Regole in entrata

Regola n.TipoProtocolloIntervallo di porteFontePermetti/Nega
100HTTP (80)TCP (6)800.0.0.0/0PERMETTI
101HTTPS (443)TCP (6)4430.0.0.0/0PERMETTI
102HTTP (80)TCP (6)80::/0PERMETTI
103HTTPS (443)TCP (6)443::/0PERMETTI
*TUTTO il trafficoTUTTOTUTTO::/0NEGA
*TUTTO il trafficoTUTTOTUTTO0.0.0.0/0NEGA

Regole in uscita

Regola n.TipoProtocolloIntervallo di porteDestinazionePermetti/Nega
100Regola TCP personalizzataTCP (6)1024-655350.0.0.0/0PERMETTI
101Regola TCP personalizzataTCP (6)1024-65535::/0PERMETTI
*TUTTO il trafficoTUTTOTUTTO::/0NEGA
*TUTTO il trafficoTUTTOTUTTO0.0.0.0/0NEGA

Risoluzione dei problemi relativi a un errore di connessione rifiutata

Un errore di connessione rifiutata significa che la richiesta di connessione viene indirizzata all'istanza ma non viene ricevuta dal servizio sulla porta specificata. Se l'Host A avvia una connessione TCP all'Host B e riceve un errore di connessione rifiutata, l'errore indica quanto segue:

  • Innanzitutto, l'Host A ha inviato un pacchetto TCP SYN all'Host B.
  • Quindi, l'Host B ha inviato un pacchetto TCP RST in risposta all'Host A.

Se riscontri questo errore, anche dopo aver consentito le porte TCP 80 e 443 nel gruppo di sicurezza e nell'ACL di rete, risolvi quanto segue:

  • Il daemon di servizio, come httpd (Apache), non è in esecuzione o è in stato di arresto.

Per risolvere i problemi, controlla se il servizio è in esecuzione nell'istanza EC2.

  • Il servizio è in ascolto su una porta sbagliata.

Per risolvere i problemi, controlla se l'istanza EC2 è in ascolto sulla porta TCP richiesta (80/443).

  • La porta è bloccata da un firewall.

Per risolvere il problema, controlla se un firewall a livello di sistema operativo nell'istanza EC2 sta bloccando il traffico TCP in entrata sulla porta richiesta.


AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa