[tutorial] Raspberry Pi – Docker, Proxy, Let’s Encrypt, SUPLA, SUPLA-Scripts...

siba
Posts: 80
Joined: Mon Feb 06, 2017 4:01 pm
Location: Kraków

Sat Dec 08, 2018 1:33 pm

to nie tak
te wpisy z loga i pliku .env zmodyfikowałem przed wysłaniem posta żeby nie podawać na publicznym forum tych adresów
siba
Posts: 80
Joined: Mon Feb 06, 2017 4:01 pm
Location: Kraków

Sat Dec 08, 2018 2:02 pm

po sprawdzeniu narzędziem canyouseeme.org wychodzi że wszystkie porty są otwarte z wyjątkiem 80, i dlatego na konfiguracji standalone się dostaję do tego z zewnątrz.

Wygląda na to że dostawca sprzedaje mi publiczne ip z zablokowanym portem 80 (czy to możliwe? :shock: ), wcześniej na neostaradzie to działało bez problemu.
User avatar
lesny8
Posts: 398
Joined: Mon Dec 11, 2017 9:43 pm

Sat Dec 08, 2018 5:23 pm

A czy możesz od strony WAN wejść do cloud poprzez https://suplacloud.mojadomena.pl ?
Jeśli nie, to masz coś skopane, bo powinien Ci wyskoczyć monit o zagrożeniu. Po akceptacji strona bez zielonego certyfikatu powinna się wczytać.
Jeśli jednak strona się wczytuje to sprawdź http http://suplacloud.mojadomena.pl
Powinno zmienić protokół na https i się wczytać. Jeśli się nie wczytuje to na routerze przekieruj port TCP 85 -> 80 na adres IP maliny.
Sprawdź czy wtedy http://suplacloud.mojadomena.pl:85 zmieni protokół na https i wczyta stronę logowania.
Jeśli na 80 nie dochodziło do zmiany protokołu z http na https, a na 85 dochodzi, to wracając do pytania, możliwe że port 80 jest zablokowany przez dostawcę. A jaki to dostawca w ogóle?
siba
Posts: 80
Joined: Mon Feb 06, 2017 4:01 pm
Location: Kraków

Sat Dec 08, 2018 7:31 pm

Wszystko sprawdziłem według Twoich porad i wnioski są następujące:
po przekierowaniu portu 88 z zewn. na 80 port maliny w trybie proxy po wpisaniu z zewnątrz adresu w przeglądarkę http://suplacloud.mojadomena.pl:88 owszem strona logowania się otwiera ale z ostrzeżeniem o niepoprawnym certyfikacie i nie mogę się zalogować bo po wpisaniu danych użytkownika i kliknięciu zaloguj dostaję komunikat że nie można wyświetlić strony a adres strony w adresie zmienia się na https://suplacloud.mojadomena.pl czyli tak jak napisałeś dochodzi do przekierowania protokołu, ale co ciekawe zauważyłem że gdy są uruchomione kontenery z proxy to zarówno portchecker.co jak i canyouseeme.org pokazują że mój port 443 oraz 80 są zamknięte ale gdy kontenery z proxy zatrzymam to wtedy tylko port 80 jest zamknięty a 443 otwarty

w trybie standalone cloud działa na przekierowanym porcie 88 na 80 i z ostrzeżeniem o niepoprawnym certyfikacie się otwiera i można się do niego zalogować.

Wniosek jest tylko jeden: zablokowany port 80. To jest lokalny dostawca internetu światłowodowego. Mam od nich takie małe urządzenie do którego wchodzi światłowód a z niego skrętka idzie już do mojego routera. Moje publiczne ip wykupione u nich jest przydzielone do WAN mojego routera tzn. widzę go w środku mojego routera po zalogowaniu. Niedawno uciekłem od pomarańczowego operatora z neostrady na dsl, bo nie dość że wolno to chodziło to jeszcze kazali sobie za nową umowę więcej płacić a perspektyw na światłowód u nich nie było w mojej okolicy :( .

Zastanawia mnie to że na początku po zmianie dostawcy i łącza to wszystko śmigało przez parę dni (miałem "wystrugany" przez siebie po wielu bojach i bezsennych nocach docker proxy o którym pisałem w tym wątku: viewtopic.php?p=18139#p18139). Dopiero wczoraj zaczęły się problemy z tym i zainteresował mnie Twój super poradnik. No cóż, wygląda na to że z jakiegoś powodu przyblokowali ten port 80. Może to jest jakiś ich algorytm o którym jeszcze nie wiem. W poniedziałek zadzwonię do nich i spróbuję to wyjaśnić. W umowie nie widzę żadnych ograniczeń.
User avatar
lesny8
Posts: 398
Joined: Mon Dec 11, 2017 9:43 pm

Sat Dec 08, 2018 9:15 pm

Ok. Sprawdź jeszcze jedno, tym razem od strony LAN, ale najpierw...
Jeśli masz możliwość to na routerze wprowadź statyczny wpis DNS z adresem maliny dla Twojej domeny, lub na komputerze z windows w pliku %WinDir%\System32\Drivers\Etc\hosts, lub na komputerze z linux w pliku /etc/hosts taki wpis

Code: Select all

192.168.0.100       suplacloud.mojadomena.pl
Generalnie chodzi o to żeby komputer z którego przez przeglądarkę będziesz wywoływał, w ogóle poza router nie wybiegał z wywołaniem tylko od razu skierował pakiety do maliny. Puść ping suplacloud.mojadomena.pl, jak odpowie wewnętrzny adres to idź do przeglądarki i sprawdź czy zadziała http://suplacloud.mojadomena.pl, i czy przekieruje na https, i czy się zalogujesz. Jeśli tak to wtedy można na 100% stwierdzić, że 80 na WANie jest przyblokowany.

Certyfikat wystawiany jest na 3 miesiące i automatycznie jest odnawiany. Czy w ciągu ostatnich 3 miesięcy zmieniłeś dostawcę internetu? Póki certyfikat był ważny to działało, jak Let'sEncrypt chciało zweryfikować domenę, to się nie dało i nowego SSL nie wystawili.

Pokaż jeszcze co wypluwa

Code: Select all

docker ps
siba
Posts: 80
Joined: Mon Feb 06, 2017 4:01 pm
Location: Kraków

Sun Dec 09, 2018 6:40 am

Zrobiłem jak napisałeś ale dalej mam takie same wyniki tego doświadczenia jak wcześniej czyli strona logowania się otwiera ale nie mogę się zalogować bo po wpisaniu loginu i hasła dostaję od razu białą stronę z komunikatem przeglądarki że połączenie nie mogło być zrealizowane.
Certyfikat wystawiany jest na 3 miesiące i automatycznie jest odnawiany. Czy w ciągu ostatnich 3 miesięcy zmieniłeś dostawcę internetu? Póki certyfikat był ważny to działało, jak Let'sEncrypt chciało zweryfikować domenę, to się nie dało i nowego SSL nie wystawili.
Tak dostawcę zmieniłem pod koniec listopada, więc myślę że to co piszesz miałoby zastosowanie do mnie pod warunkiem że miał bym uruchomioną tą moją starą instalację która działała zanim zaczęły się problemy. Jednak jak problemy się zaczęły to postawiłem świeżą instalację na czystym systemie która jeszcze ani razu nie działała poprawnie odkąd istnieje czyli przez trzy dni. Tę starą też mam w obrazie karty zrzuconym do pliku więc będę musiał ją przywrócić aby to sprawdzić, spróbuje zorganizować inną kartę żeby tej która mi na razie nie działa nie formatować.

Jeszcze mój wynik polecenia docker ps:

Code: Select all

CONTAINER ID        IMAGE                                                   COMMAND                  CREATED             STATUS              PORTS                                      NAMES
49f4d0fc1a3f        supla/supla-server:arm32v7                              "/usr/bin/server-ent…"   8 hours ago         Up 8 hours          0.0.0.0:2015-2016->2015-2016/tcp           supla-server
e1a30bb07086        supla/supla-cloud:arm32v7                               "docker-php-entrypoi…"   8 hours ago         Up 8 hours          80/tcp                                     supla-cloud
0677d8c361a5        hypriot/rpi-mysql:5.5                                   "/entrypoint.sh mysq…"   8 hours ago         Up 8 hours          3306/tcp                                   supla-db
ce12d17f2388        nginx                                                   "nginx -g 'daemon of…"   8 hours ago         Up 8 hours          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx-web
45a16c843957        wouterds/rpi-docker-letsencrypt-nginx-proxy-companion   "/bin/bash /app/entr…"   8 hours ago         Up 8 hours                                                     nginx-letsencrypt
cc5da64af0a0        wouterds/rpi-docker-gen                                 "/usr/local/bin/dock…"   8 hours ago         Up 8 hours                                                     nginx-gen

User avatar
lesny8
Posts: 398
Joined: Mon Dec 11, 2017 9:43 pm

Sun Dec 09, 2018 11:31 am

Coś tu jest nie tak.
Jeśli zrobiłeś statyczny wpis, puściłeś ping do domeny i odpowiedź była z wewnętrznego IP maliny to wszystko powinno działać. Jeśli nie działa i objawy są takie same jak od strony WAN to problem jest na malinie.
Co dostajesz w przeglądarce po wpisaniu adresu maliny http://192.168.0.100 ?

Edit:
Usuń jeszcze cache w przeglądarce i spróbuj ponownie

Edit:
A u rejestratora domeny w DNS zmieniłeś adres IP dla record A po zmianie dostawcy?
siba
Posts: 80
Joined: Mon Feb 06, 2017 4:01 pm
Location: Kraków

Sun Dec 09, 2018 6:12 pm

Myślę że mogłem którąś z Twoich instrukcji wykonać nie tak jak trzeba i dlatego dostałem taki wynik, w każdym razie to już nie jest istotne bo przed chwilą sprawa się wyjaśniła.
Napisałem do operatora zgłoszenie na internetowym BOK o tym że nie mogę się dostać na porcie 80 do swojego serwera myśląc że niedziela to i tak się nikt tym nie zajmie bo co to za problem w końcu internet mi działa, a po kilku minutach dostaje odp. od nich że przepraszają za blokadę portu i że już odblokowali. Zaraz sprawdziłem oczywiście czy mogę się dostać po adresie domeny z zewnątrz i widzę że się strona logowania otwiera z zieloną kłódeczka i zalogować się można, więc jednak operator zawinił w tym przypadku.

Dla potomnych z podobnymi problemami trzeba dodać że warto sprawdzić port 80 oraz 443 przed uruchomieniem swojego proxy z zielonymi certyfikatami na stronach:

http://canyouseeme.org
https://portchecker.co/

strony wystarczy odpalić na jakimkolwiek komputerze będącym w tej samej sieci lan co raspberry. U mnie wskazania z tych stron potwierdziły moje przypuszczenia o zablokowanym porcie.

Jestem oczywiście strasznie wdzięczny za okazane wsparcie i cenne rady. W ogóle wsparcie na tym forum jest jednym z najlepszych jakie spotkałem.
User avatar
lesny8
Posts: 398
Joined: Mon Dec 11, 2017 9:43 pm

Sun Dec 09, 2018 9:57 pm

Super, że się w końcu wyjaśniło i że zadziałało na zielono tak jak należy :mrgreen:
O porcie 80 napisałem ale drobnym druczkiem, nie napisałem tylko jak to zrobić ;)
lesny8 wrote:
Mon Dec 03, 2018 1:19 am
Sprawdźcie to w pierwszej kolejności, czy posiadany router/dostawca internetu daje wam możliwość przekierowania poru 80 TCP, jest to kluczowy warunek dla Let’s Encrypt podczas weryfikacji domeny. Jeśli nie to trzeba szukać alternatywnego firmware dla routera albo zmienić router/dostawcę internetu na taki z możliwością przekierowania portu TCP 80.
Dobrze, że zostawiasz linki, czytającym wątek z podobnymi problemami na pewno się przydadzą.
Aha i jeszcze jedna myśl, o ile port 443 można zastąpić każdym innym portem o tyle 80 przy tej konfiguracji niestety nie.

P.S.
Nie ma za co, fajnie czasami się przydać i pomóc w rozwikłaniu zagadki :)
PuteR
Posts: 482
Joined: Wed Dec 06, 2017 10:07 am

Sun Dec 09, 2018 10:50 pm

siba wrote:
Sun Dec 09, 2018 6:12 pm

Dla potomnych z podobnymi problemami trzeba dodać że warto sprawdzić port 80 oraz 443 przed uruchomieniem swojego proxy z zielonymi certyfikatami na stronach:

http://canyouseeme.org
https://portchecker.co/
Z ciekawości zajrzałem na te strony i wychodzi, że o ile port 443 jest otwarty to port 80 mam zamknięty, a wszystko u mnie działa jak należy na zielono (no może po za automate na telefonie przez co supla skrypty są troszkę ograniczone). Dlaczego tak się dzieje??
Post Reply