port localhost mapowany na stronę WWW


Odpowiedzi:


1

Jest to dość łatwe, jeśli nie ma powodów, dla których uważasz, że plik hosts nie jest właściwym rozwiązaniem. Możesz również mieć problemy, jeśli nie jesteś przyzwyczajony do wklejania rzeczy w Terminalu, ale jeśli tak jest - możesz zadać drugie pytanie, aby uzyskać pomoc w tej sprawie!

Skopiuj i wklej następujące wiersze do terminalu:

cd
mkdir diy_proxy
cd diy_proxy
cat > index.html << EOF
<meta http-equiv="refresh" content="0; url=http://apple.stackexchange.com/" />
EOF
python -m SimpleHTTPServer

Aby zabić serwer WWW Pythona, naciśnij: Control-C

Linie wykonują następujące czynności:

  1. zabiorę cię do katalogu domowego / folderu
  2. utwórz folder, w którym będzie przechowywany plik indeksu, który przekieruje twoją przeglądarkę
  3. przejdź do tego folderu
  4. wyślij znaki do pliku index.html, aż zobaczysz EOF (i nie dołączaj go)
  5. To magia, która każe przeglądarce przekierować
  6. kończy zawartość do zapisania w pliku index.html
  7. uruchom lekki serwer WWW na porcie 8000, aby obsłużyć plik indeksu

Zachowaj także ostrożność, omijając zaporę i zabezpieczając przekierowanie. Na przykład nie chcesz, aby twoje hasła wypadały z kieszeni. gnu.gl/blog/Posts/multiple-vulnerabilities-in-pocket
bmike

Host zmienił się z powrotem na apple.stackexchange.com, a nie to, czego naprawdę chcę.
thinker3

@metaphy może edytujesz swoje pytanie, aby wyjaśnić więcej swoich wymagań. Wygląda na to, że chcesz mieć serwer proxy? Wiele rzeczy się zepsuje, więc być może będziesz musiał opisać, dlaczego i co próbowałeś.
bmike

-1

Jest to możliwe, jeśli masz włączony SSH („Zdalne logowanie” w Preferencjach systemowych> Udostępnianie)

Następnie uruchom (w terminalu) ssh localhost -L 8000:apple.stackexchange.com:80

(Otrzymujesz powłokę, wpisz exitpo zakończeniu z proxy).

Dzięki apple.stackexchange.com daje mi to jednak:

Błąd 1003 [...]
Bezpośredni dostęp do adresu IP niedozwolony
Co się stało?
Zażądałeś adresu IP, który jest częścią sieci CloudFlare. Aby dotrzeć do żądanej witryny, należy podać prawidłowy nagłówek hosta.

Aby obejść ten błąd, potrzebujesz serwera proxy na poziomie HTTP, ale ssh może działać w niektórych witrynach.


Również dobre rozwiązanie - proste przekierowanie portów, ale jak zauważysz, CDN może być zepsuty, podczas gdy przekierowanie łatwiej przechodzi obok nich. Może być konieczne użycie czegoś takiego jak ten program Golang do konwersji nagłówka hosta z localhost na apple.stackexchange.com stackoverflow.com/questions/30452901/..., ponieważ CloudFlare obsługuje teraz ogólnie obsługę gniazd sieciowych.
bmike

1
Prawdopodobnie nie musisz w tym celu włączać SSH / Remote Login. Opcja w Preferencjach ustawia komputer Mac dla połączeń przychodzących, połączenia wychodzące powinny zawsze działać.
nohillside

@patrix: Przynajmniej dla mnie serwer SSH nie wydaje się działać, gdy zdalne logowanie jest wyłączone.
0942v8653,

Ach, racja, nadal potrzebujesz serwera, aby się połączyć.
nohillside
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.