Meine httpd.conf
zeigt, dass es auf Port 80 lauscht. Ich glaube, ich sollte die IP in die IP meines Computers ändern, aber ich bin mir nicht sicher und zögere klugerweise.
#Listen 12.34.56.78:80
Listen 80
Mein virtuelles Hosting zeigt jedoch Port 443 an. Wie ändere ich das? Ist das die Ursache meines Problems?
Aktualisieren
'VirtualHostStandard:443' = /etc/httpd/conf.d/ssl.conf
Das sagt mir, dass Virtual Hosting richtig ist. Ich habe das Gefühl, dass ich alle Informationen, die sich auf 443 beziehen, aus diesem Szenario eliminieren kann, um zur Antwort zu gelangen.
/etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf:#ServerName www.example.com:443
/etc/httpd/conf.d/ssl.conf.rpmnew:Listen 443 https
/etc/httpd/conf.d/ssl.conf.rpmnew:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf.rpmnew:#ServerName www.example.com:443
welches ist
Job for httpd.service failed because the control process exited with error code.
See "systemctl status httpd.service" and "journalctl -xe" for details.
Ich versuche zu lernen vonein ähnlicher Thread. Ich verwende Fedora, daher ist es für mich etwas anders zu verstehen.
systemctl status httpd.service
sagt:
httpd[1182]: AH00526: Syntax error on line 18 of /etc/httpd/conf.d/ssl.conf:
Zeile 18 sagt | Hören Sie 80
httpd[1182]: Cannot define multiple Listeners on the same IP:port
systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: httpd.service: Failed with result 'exit-code'.
systemd[1]: Failed to start The Apache HTTP Server.
Zeile 18 von /etc/httpd/conf.d.ssl.conf |Listen 80
Hier bin ich verwirrt, weil grep '443' /etc/httpd/conf.d/*
meine ssl.conf
Datei als 443 angezeigt wird, aber wenn ich die httpd.conf
Datei lese, sehe ich hier, dass es 12.34.56.78:80
sich um eine vorbeugende IP handelt. Daher sollte ich die IP meiner Maschine hier hinzufügen und auf 80 und 443 hören.
Antwort1
Der Fehler scheint darauf hinzudeuten, dass Listen
Ihre Apache-Konfigurationsdatei(en) möglicherweise mehrere Anweisungen enthält, die dieselbe IP/Port 80-Kombination angeben.
Listen
(als allgemeine Regel) sollte nur einmal in httpd.conf
(z. B. als Listen 80
) und einmal in Ihrer Standard-SSL-Konfiguration (z. B. als Listen 443
) erscheinen.
Und obwohl es möglich ist, mehrere Listen
Anweisungen auf demselben Port (z. B. 80) zu haben, müssen sie alle unterschiedliche IP:Port-Kombinationen haben.
Listen
Daher sollte ich hier und unter 80 und 443 die IP meiner Maschine hinzufügen .
ApacheHörenAnweisungen können zwei allgemeine Formen annehmen: „Pro IP“ und „Global“ (alle verfügbaren IPs):
# Per IP
# Listen 12.34.56.78:80
# Global (i.e includes ex. 12.34.56.78)
Listen 80
Die obige Konfiguration funktioniert. Etwas wie das Folgende wird im Allgemeinen auch funktionieren (vorausgesetzt, Ihr System hat mehrere IPs):
# Per IP
Listen 12.34.56.78:80
Listen 23.56.78.90:80
# Global (i.e includes ex. 12.34.56.78)
# Listen 80
Dies wird wahrscheinlich nicht funktionieren (d. h. Apache kann nicht gestartet werden):
# Per IP
Listen 12.34.56.78:80
# Global (i.e includes ex. 12.34.56.78)
Listen 80