Salta al contenuto

Come posso consentire ai miei utenti di connettersi al mio sito web ospitato su un'istanza EC2 su HTTP o HTTPS?

5 minuti di lettura
0

Sto ospitando il mio sito Web su un'istanza Amazon Elastic Compute Cloud (Amazon EC2). Desidero che gli utenti si connettano al mio sito web sulle porte HTTP (80) o HTTPS (443).

Risoluzione

Per consentire il traffico sulla porta 80 o sulla porta 443, devi configurare il gruppo di sicurezza associato e la lista di controllo degli accessi alla rete (ACL).

Configura le regole del gruppo di sicurezza

Per il traffico HTTP, aggiungi una regola in entrata sulla porta 80 dall'indirizzo di origine 0.0.0.0/0.

Per il traffico HTTPS, aggiungi una regola in entrata sulla porta 443 dall'indirizzo di origine 0.0.0.0/0.

Le precedenti regole in entrata consentono il traffico da indirizzi IPv4. Per consentire il traffico IPv6, aggiungi regole in entrata sulle stesse porte dall'indirizzo di origine ::/0.

Non serve modificare le regole in uscita del gruppo di sicurezza. I gruppi di sicurezza sono statici, quindi consentono automaticamente il traffico di ritorno dall'istanza.

Il seguente esempio di configurazione contiene regole che consentono il traffico IPv4 e IPv6 sulle porte TCP 80 e 443.

Regole in entrata

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

Nota: verifica se devi consentire ad altre origini di traffico, come SSH o Remote Desktop Protocol (RDP), di accedere all'istanza. Quindi assicurati che il gruppo di sicurezza disponga delle regole in entrata per consentire il traffico richiesto.

Configura l'ACL

L'ACL predefinita consente tutto il traffico IPv4 in entrata e in uscita. Se Amazon Virtual Private Cloud (Amazon VPC) è associato un blocco CIDR IPv6, l'ACL predefinita aggiunge automaticamente regole per consentire il traffico IPv6 in entrata e in uscita. Tuttavia, se utilizzi un'ACL personalizzata con regole più restrittive, devi consentire esplicitamente il traffico sulle porte 80 e 443.

Le ACL sono stateless, quindi devi aggiungere regole sia in entrata che in uscita per consentire la connessione al sito web.

La seguente configurazione è un esempio di ACL personalizzata che consente il traffico sulle porte TCP 80 e 443. Le ACL vengono utilizzate per tutte le risorse di una sottorete, non solo per una singola istanza Amazon EC2. La seguente configurazione blocca tutto il traffico da e verso le risorse della sottorete, ad eccezione delle porte di destinazione 80 e 443.

Regole in entrata

N. regolaTipoProtocolloIntervallo di porteOrigineConsenti/Nega
100HTTP (80)TCP (6)800.0.0.0/0CONSENTI
101HTTPS (443)TCP (6)4430.0.0.0/0CONSENTI
102HTTP (80)TCP (6)80::/0CONSENTI
103HTTPS (443)TCP (6)443::/0CONSENTI
*TUTTO il trafficoTUTTITUTTI::/0NEGA
*TUTTO il trafficoTUTTITUTTI0.0.0.0/0NEGA

Regole in uscita

N. regolaTipoProtocolloIntervallo di porteDestinazioneConsenti/Nega
100Regola TCP personalizzataTCP (6)1024-655350.0.0.0/0CONSENTI
101Regola TCP personalizzataTCP (6)1024-65535::/0CONSENTI
*TUTTO il trafficoTUTTITUTTI::/0NEGA
*TUTTO il trafficoTUTTITUTTI0.0.0.0/0NEGA

Nota: verifica se devi consentire ad altre origini di traffico, come SSH o RDP, di accedere all'istanza. Quindi assicurati che l'ACL della rete abbia le regole in entrata per consentire il traffico richiesto.

Risolvi un errore "connection refused"

Un errore "connection refused" si verifica quando la connessione viene indirizzata su una porta che non è stata specificata nel gruppo di sicurezza o nelle regole dell'ACL. Ad esempio, l'host A avvia una connessione TCP all'host B. Innanzitutto, l'host A invia un pacchetto TCP SYN all'host B. Quindi l'host B invia un pacchetto TCP RST in risposta all'host A. Se queste richieste di connessione non avvengono sulla porta specificata, l'host A riceve l'errore "connection refused".

Per risolvere il problema, controlla se il servizio del server web è In esecuzione nell'istanza sulla porta 80 o 443.

Risolvi un errore "connection timeout"

Se ricevi l'errore "connection timeout" dopo aver autorizzato esplicitamente le porte TCP 80 e 443, controlla il firewall del sistema operativo. Assicurati che il firewall non blocchi il traffico TCP in entrata sulle porte richieste.