Jak mogę sprawdzić, czy mój serwer Apache jest otwartym serwerem proxy?

11

Czy istnieje polecenie curl, które sprawdza poprawność, jeśli serwer działa jako otwarty serwer proxy?

próbowałem

curl --proxy http://<my server>:80 http://yahoo.com

Ale odpowiedź z Apache brzmi:

Description: Could not process this "GET" request.
Będzie
źródło
10
Że należy to zrobić. Ta odpowiedź oznacza, że ​​i tak nie działa jako serwer proxy na tym porcie. Gdyby tak było, powinieneś otrzymać stronę Yahoo (lub uwierzytelnienie proxy lub inną odpowiedź proxy).
squillman
Powinieneś także spróbować proxy do strony https, http / https są zaimplementowane inaczej. Serwery proxy Apache, których użyłem, nie działają tak jak ten btw, serwer zdalny (proxy) jest określony gdzieś w konfiguracji. To tak, jakbyś chciał, aby strona z losowego serwera pojawiała się w Twojej głównej witrynie lub coś takiego.
Niektóre Linux Nerd
curl --proxy http: // <yourserver>: 80 https: //mail.google.com # <--- https
Some Linux Nerd
Oprócz wyżej opisanych testów możesz po prostu sprawdzić swoją konfigurację. Aby skonfigurować serwer Apache jako serwer proxy przekazywania, wymagana jest opcja „ProxyRequests On” (domyślnie jest wyłączona). Można go włączyć tylko na poziomie hosta globalnego (serwerowego) lub wirtualnego, więc nie trzeba wyszukiwać plików htaccess.
Unbeliever

Odpowiedzi:

1

Prosta odpowiedź brzmi: jeśli masz ProxyRequests On(domyślnie wyłączone) gdzieś w konfiguracji, to możesz mieć otwarty serwer proxy, jeśli nie, to nie jesteś, przynajmniej ze strony konfiguracji Apache.

Jeśli nadal otrzymujesz 200 OKwpisy w dzienniku dostępu dla żądań, które wyglądają jak żądania przekazywania proxy, prawdopodobnie dzieje się tak dlatego, że masz wszystkie przepisywane polecenia, które mapują każde żądanie do kontrolera, bez względu na to, jak to wygląda. Prawdopodobnie możesz dodać warunki, aby temu zapobiec, jeśli się martwisz.

Niewierny
źródło