Dostęp do wewnętrznego API przy pomocy Proxy HTTP – konfiguracja
Skonfigurowanie serwera proxy HTTP może często być przydatne, w celu uzyskania dostępu do serwisów wewnętrznych z innego urządzenia lub komputera, który nie ma bezpośredniego dostęp do docelowej sieci. Przykładem może być problem testowania API dostępnego w sieci wewnętrznej z poziomu urządzenia mobilnego, które korzysta z tej samej sieci Wi-Fi, co komputer podłączony do docelowej sieci VPN. Oto kilka prostych kroków, aby skonfigurować serwer proxy HTTP, który pozwoli na takie połączenie.
- Zainstaluj wersję Squid Proxy (Proxy HTTP) odpowiednią dla Twojego systemu.
- Skonfiguruj proxy za pomocą pliku squid.conf w katalogu instalacyjnym (bądź poprzez ikonę na pasku zadań):
- Konfiguracja sieci lokalnej powinna być domyślnie zainicjalizowana w pliku konfiguracyjnym, np.:
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
# (...)
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
# Squid normally listens to port 3128
http_port 3128
- Dodaj wewnętrzne serwery DNS do listy konfiguracyjnej, aby umożliwić odnajdywanie adresu IP nazw domen docelowej sieci wewnętrznej (opcjonalnie):
dns_nameservers 8.8.8.8 208.67.222.222 <insert_your_dns_server_ip>
Aby odkryć nazwę serwera DNS sieci wewnętrznej, uruchom ipconfig /all
w systemie Windows, bądź cat /etc/resolv.conf
w systemie Linux.
- W celu odnalezienia statycznych nazw domen, które dodaliśmy w pliku hosts musimy dodatkowo podać lokalizację tegoż pliku (opcjonalnie):
# Windows 10: hosts_file C:/Windows/System32/drivers/etc/hosts
# Linux: hosts_file /etc/hosts
hosts_file C:/Windows/System32/drivers/etc/hosts
Uruchom ponownie Squid Proxy za pomocą ikony na pasku zadań lub wiersza poleceń (/etc/init.d/squid restart
lub service squid<TAB> restart
w systemie Linux).
3. Upewnij się, że Squid Proxy jest osiągalny w Twojej sieci lokalnej. Możesz wrócić do tego kroku, jeśli proxy nie działa po kroku 4, tj. nie jest dostępne z poziomu klienta za pomocą polecenia telnet <IP> <PORT>
.
Konieczne może być dodanie portu w zaporze. Na przykład w systemie Windows można to zrobić w Panelu sterowania > System i zabezpieczenia > Zapora systemu Windows > Ustawienia zaawansowane > Reguły ruchu przychodzącego > Nowa reguła.
4. Skonfiguruj klienta do korzystania z proxy HTTP:
- Firefox: Ustawienia > Ustawienia sieciowe > Ustawienia połączenia, bądź wyszukaj pod frazą "Proxy";
- Chrome: Ustawienia > Zaawansowane > System > Zmień ustawienia serwera proxy lub przez linię poleceń
google-chrome --proxy-server="http://proxy-ip:proxy-port"
; - Android/iOS: Ustawienia > Wi-Fi > dłuższe przyciśnięcie (Android) bądź dotknięcie (iOS) na nazwę sieci Wi-Fi > Modyfikuj sieć (Android) > Server Proxy > Własny / Ręczna
- Windows: Ustawienia > Sieć i Internet > Serwer proxy > Ręczna konfiguracja;
- Ubuntu: Ustawienia systemowe > Sieć > Proxy sieciowe > Ręczna konfiguracja;
Adresem IP serwera proxy będzie lokalny adres komputera, na którym działa serwer proxy. Zwykle będzie to coś w rodzaju 192.168.x.x (adres IPV4 po uruchomieniu komendy ipconfig
w linii poleceń systemu Windows bądź hostname -I
w systemie Linux). Jeśli chodzi o port, domyślnie jest to 3128.
Zazwyczaj po wykonaniu tych czterech kroków powinniśmy być w stanie połączyć się z wewnętrznym interfejsem API HTTP przy użyciu wewnętrznego adresu IP, jak również wewnętrznych nazw domen.