Apache2 unter Windows 7 benötigt öffentlichen Zugriff


4

Ich habe bei Google gesucht und auch hier versuche ich, meinen apache2-Server auf meinem Windows 7-Computer für den öffentlichen Zugriff online zu schalten.

Ich habe ein 2wire Modem / Router und bin hinter einem NAT, ich habe Port80 an meinen Computer weitergeleitet.

Ich kann jedoch nicht über die lokale IP-Adresse oder meine öffentliche IP-Adresse auf den Server zugreifen. Der einzige Computer, der aktuell auf den Webserver zugreifen kann, ist der Computer, auf dem er ausgeführt wird, über 127.0.0.1

ich auch bin zu 99% sicher Es gibt keine Konflikte an diesem Port. Ich bin jedoch nicht sicher, wie ich das überprüfen kann.

Ich weiß, dass ich hier etwas vermissen muss, ich kann mir nicht vorstellen, dass das so schwer ist.

Bitte entschuldigen Sie den Mangel an Informationen. Ich bin keinesfalls eine professionelle IT-Person. Ich habe eine Gruppe von Kunden im Ausland, und ich versuche, Code zu demonstrieren, daher muss dies keine sichere oder dauerhafte Lösung sein. Sobald meine Anwendung für den Live-Einsatz bereit ist, werde ich die Zeit aufwenden, einen geeigneten Stand-Alone-Server einzurichten (oder eher jemanden damit beauftragen).


Was bedeutet die "Listen" -Zeile (n)? httpd.conf aussehen wie?
Chris S

1
Stellen Sie sicher, dass Apache nicht nur die Loopback-Schnittstelle hört. Veröffentlichen Sie Ihre Konfigurationsdatei.
quanta

Listen 127.0.0.1:80..
rlemon

1
Hey, @DownVoter (wünschte das funktionierte) Wenn Sie die Qualität meiner Frage nicht mögen, bieten Sie vielleicht einen Vorschlag an, um sie zu verbessern. Ich gab alle Informationen, die ich hatte. Durchsuchte die Website nach einer ähnlichen Frage und konnte nichts finden, was mir helfen würde. Ich habe auch unten erwähnt, dass ich sehr wenig über diesen Prozess weiß ... was kann ich sonst noch fragen?
rlemon

2
@gregd - Ich habe viele kleine Unternehmen gesehen, die Windows 7 als Server verwenden. Und rlemon spricht davon, es professionell mit professioneller Software zu verwenden. Ich denke es gehört hier persönlich.
Rob Moir

Antworten:


5

Hören Sie 127.0.0.1:80

Es bedeutet, dass Sie den Apache nur an die Loopback-Schnittstelle binden. Ändern Listen 80 um alle verfügbaren Schnittstellen abhören zu lassen. Vergessen Sie nicht, Apache neu zu starten.


Cool, danke! Dies ist die Art von Informationen, von denen ich gedacht hätte, dass sie leichter zu finden wäre.
rlemon

3
Das liegt daran, dass kein Sysadmin das je googeln würde.
MikeyB

3

Haben Sie überprüft, dass Apache für das Abhören aller IP-Schnittstellen konfiguriert ist, nicht nur für localhost? Wenn Sie ein netstat ausführen, sollten Sie über einen Apache- oder httpd-Prozess verfügen, der 80 auf 0.0.0.0 überwacht.

Klingt so, als würde Apache nur die Loopback / localhost-Adresse abhören, sodass nur der Computer selbst eine Verbindung herstellen kann. Suchen Sie nach der Konfigurationsdatei, ändern Sie die zu hörenden Schnittstellen und dann sollten andere Computer in der Lage sein, den Webserver hochzuladen.


Klingt einfach genug. Haben Sie Anleitungen, wie das geht? Ich fliege hier blind.
rlemon

Ich bin mir nicht sicher, ob Ihre httpd.conf-Datei unter Windows installiert ist. Sie finden es möglicherweise in einem Installationsverzeichnis für die Binärdatei.
Bart Silverstrim

Alternativ können Sie versuchen, procmon (google sysinternals) (kostenlos) auszuführen, den Apache-Prozess erneut zu starten und zu sehen, welche conf-Dateien beim Startvorgang betroffen sind. Das sollte dir einen Weg geben.
Bart Silverstrim

Nein, nicht was ich meinte. Ich muss wissen, was ich ändern soll listen zu .. bekam meine Antwort. Danke für die Hilfe!
rlemon

1

Um einen möglichen Port-Konflikt auf 80 auszuschließen, können Sie Folgendes verwenden:

netstat -noab | find /i ":80" | find /i "LISTEN"

super danke, das sind alles gute informationen für den 'neuen mann'
rlemon

0

Haben Sie Port 80 in Ihrer Windows-Firewall geöffnet? Ich vermute nicht. Es ist kein Portkonflikt oder Sie können nicht über die Loopback-Adresse zum Webserver gelangen.

Sie können prüfen, ob es sich um eine Verbindung handelt, indem Sie versuchen, an Port 80 mit Ihrem Computer zu telnet, und geben Sie ein aus GET und sehen was passiert.


1
Ich habe die Windows-Firewall deaktiviert. sowieso nutzlos.
rlemon
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.