Dostęp do kontenera dockera z telefonu w sieci lokalnej

Problem:
Piszemy aplikację, która działa sobie na kontenerach dockera na komputerze programisty z systemem Ubuntu.

Chcemy zobaczyć jak aplikacja działa na telefonie komórkowym, bądź innym urządzeniu w sieci lokalnej.

Założenia:
W celu udostępnienia aplikacji w sieci lokalnej postawimy na komputere proxy rzy pomocy Squida.

Rozwiązanie:

1. Instalujemy squida: sudo apt install squid
2. Konfigurujemy squida w pliku /etc/squid/squid.conf (polecam zrobić sobie kopię oryginalnego pliku)

– komentujemy linijkę http_access deny to_localhost
– pod koniec pliku ustawiamy ip naszej sieci: acl dom src 192.168.123.0/24
– również na końcu pliku zmieniamy http_access deny all na http_access allow all

Moja konfiguracja (tylko ostatnie linijki pliku) wygląda tak:

visible_hostname weezy # ta linijka nie ma dla nas znaczenia
http_port 8888 # na tym porcie będzie działało proxy
hosts_file /etc/hosts # z tego pliku wczytana zostanie lista hostów, które będą dostępne w sieci
acl dom src 192.168.123.0/24 # adres naszej sieci
http_access allow all # zezwalamy na dowolny dostęp

3. Restart squida: service squid restart
4. Na telefonie w ustawieniach sieci wifi ustawiamy proxy: <adres_komputera>:8888, w moim przypadku jest to 192.168.123.4:8888
5. Wpisujemy w przeglądarce na telefonie adres hosta z pliku /etc/hosts, np. project.test i otwieramy szampana 🙂

Powyższa konfiguracja nadaje się jedynie do celów deweloperskich, używanie jej na produkcji jest niebezpieczne.

Skomentuj