Czy Apache potrzebuje dostępu do zapory dla żądań serwera kodu?

0

Chciałbym tylko szybkiego wyjaśnienia czegoś.

Dla stosu programistycznego, takiego jak LAMP lub XAMPP dla serwera lokalnego; czy Apache wymaga dostępu przez zaporę ogniową (np. port 80), jeśli na przykład jakiś kod php na lokalnym serwerze generuje echo danych przechowywanych w zdalnej bazie danych MySQL (tj. przez WAN)? Zakładam, że tak.

Stumbler
źródło

Odpowiedzi:

2

Jeśli dobrze rozumiem twoje pytanie, skrypt na twoim serwerze działa jako klient SQL dla zdalnej bazy danych MySQL. Wymagałoby to od twojego serwera dostępu do tego serwera. Jeśli więc istnieje między nimi zapora ogniowa, musi ona zezwalać na dostęp.

Edycja dla wyjaśnienia Jednak dostęp, który musi zostać przyznany, jest tylko dla klienta, aby połączyć się z serwerem MySQL i otrzymać odpowiedzi po ustanowieniu sesji. Nie ma powodu, aby zezwalać na jakikolwiek inny ruch przychodzący w tym celu.

Jenny D.
źródło
System Windows nie określa, czy wyjątek jest przychodzący, wychodzący czy oba. Zakładałem, że będzie to jedno i drugie; ale wydaje się, że wyjątek dotyczył wyłącznie ruchu przychodzącego.
Stumbler,
0

Myliłem się Apache nie wymaga wyjątku zapory, aby to działało. Zweryfikowałem to, usuwając wyjątki zapory programowej dla serwera HTTP Apache.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Mój kod był w stanie z powodzeniem wyświetlać wyniki ze zdalnej bazy danych MySQL.

Chociaż odpowiednie porty muszą być nadal otwarte, serwer Apache Webserver nie wymaga dostępu do zapory, aby działał poprawnie.

Stumbler
źródło
Całkowicie źle zrozumiałem twoje pytanie - nigdy nie przyszło mi do głowy, że tak naprawdę zastanawiasz się, czy musisz otworzyć dostęp przychodzący do portu 80. Jak napisałem, musisz upewnić się, że komputer, na którym działa skrypt, nie ma zapory blokującej dostęp do serwera SQL.
Jenny D.
0

Apache, MySQL, zapory ogniowe (niezależnie od używanego oprogramowania), php - wszystko działa niezależnie. Wszyscy zrobią to, co powinni, bez innych. Apache nie wysyła żądania sieciowego (http, mysql, https itp.).

Więc powyższe pytanie, być może lepiej sformułowane, nie było do końca jasne. Jednak znaczenie również nie zostało ukryte.

Kolejny punkt. „Zapora systemu Windows” przypomina trochę, że Tonka robi wielką ciężarówkę. To nie jest tak naprawdę zapora ogniowa (nie jest przyzwoita).

Jeśli jest jakaś wartość dla mojej odpowiedzi, to fakt, że te fragmenty oprogramowania działają niezależnie. Dlatego, gdy pojawia się problem, należy je przetestować niezależnie.
A) Czy mogę uzyskać dostęp do jakiegoś obcego serwera bazy danych (bez php, bez apache, nie ...) Jeśli tak, czy mogę uzyskać dostęp do obcej bazy danych za pomocą php (bez apache, ...), Jeśli mogę uzyskać dostęp do jakiejś bazy danych za pomocą php i apacz

Zakładam, że używasz php - ale jeśli nie - to samo dotyczy innych klientów.

straszny
źródło
-1

Jeśli lokalny kod PHP próbuje uzyskać dostęp do zdalnej bazy danych (najprawdopodobniej na porcie 3306, a nie 80), należy wyraźnie otworzyć zaporę ogniową, aby zezwolić na ten dostęp.

Sven
źródło
No cóż. Ponieważ oczywiście to serwer WWW wymaga dostępu do zapory ogniowej ... mimo że serwer sieciowy nie działa na porcie 3306 ... oczywiście. Ponieważ http domyślnie nie jest blokowane przez zapory programowe (w przeciwnym razie przeglądarki wymagałyby określonych uprawnień, aby działać), odpowiedź nie jest w 100% oczywista. Zakładam, że to „tak”, ale nie jestem całkowicie, absolutnie pewien. Ale na pewno mogłem zgadnąć, jak ty.
Stumbler,
@ Duncan Dla większości osób, które często zgłaszają awarie serwera , jest to oczywiste - na przykład „czy potrzebuję, aby drzwi do tego pokoju były odblokowane, abym mógł je otworzyć i przejść przez to” oczywiste. Właśnie dlatego pytanie zostało przeniesione do Super User , który jest bardziej odpowiednią witryną do tego celu.
Jenny D
@JennyD Ah! Ponieważ SuperUser jest dla dumdums. Pytanie to nie zostało odrzucone za złe, jako takie, ale raczej idiotyczne. Najwyraźniej było to tak obraźliwe dla niesamowitego geniuszu mieszkańców błędu serwera, że ​​pozostanie tam po prostu nie mogło być tolerowane, ponieważ obniżyło ton. Normalnie po prostu pozwoliłbym na wyjątek zapory ogniowej i byłbym szczęśliwy, że działa; ale liczyłem na bardziej szczegółową odpowiedź niż „oczywiście to działa, dupku”.
Stumbler,
@JennyD Nie. Cofam to; oboje się mylicie. Skonfiguruj maszynę wirtualną i usunięto wyjątki zapory dla Apache i działa ona całkowicie dobrze. Dziękuję za marnowanie czasu
Stumbler,
1
@ Duncan Nie dla dumdums; dla osób, które nie mają doświadczenia w administrowaniu systemami. Nie twierdzę, że jestem dumny z tego, że nie mam głębokiej wiedzy na temat silnika pociągu. Powiedziałbym, że wysyłając wiadomości w niewłaściwym miejscu, zmarnowałeś zarówno swój czas, jak i nasz - po prostu nie rozumieliśmy, w jaki sposób pytanie, które próbujesz zadać, nawet wymaga pytania, więc odpowiedzieliśmy na to, co naszym zdaniem. Ponownie, nie mówię nic o twoim poziomie inteligencji (lub moim) - po prostu, że nie zrozumieliśmy się z powodu różnicy w doświadczeniu.
Jenny D