Ich verwende derzeit eine AWS Ec2 Ubuntu-Instanz (20.04). Ich habe Apache2 installiert und die Listen-Direktive für Apache konfiguriert. Aber ich kann die öffentliche IP-Adresse meiner Ec2-Instanz nicht in der Direktive „Listen IP:Port“ angeben. Wenn ich die ÖFFENTLICHE IP-Adresse in das IP-Feld eingebe, kann Apache nicht gestartet werden. Ich erhalte die folgende Fehlermeldung: „Job für apache2.service ist fehlgeschlagen, da der Steuerungsprozess mit einem Fehlercode beendet wurde. Weitere Informationen finden Sie unter „systemctl status apache2.service“ und „journalctl -xe“. Aber es funktioniert, wenn ich die private IP-Adresse und die Port-Kombination für die Listen-Direktive angebe. Weiß jemand, warum?
Antwort1
Die EC2-Instanz kennt die damit verbundene öffentliche Adresse nicht, da diese außerhalb der EC2-Instanz zugeordnet ist und „Reverse NAT“ verwendet wird, um die externe IP auf der Ebene eines „virtuellen Routers“ der Instanz zuzuordnen.
Da es auf EC2 keine externe Adresse gibt, hat Apache nichts, woran es eine Bindung herstellen kann.