Tryb proxy (poprawne certyfiakty SSL, Let's Encrypt)

Moderator: fracz

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

Fri Sep 27, 2019 5:31 pm

W konfiguracji proxy Nginx przekierowuje po domenie więc chyba nawet nie pyta żadnego DNS o adres IP.

Zrób taki test. Przestaw instancje supli w tryb standalone. Kontenery Nginx zatrzymaj żeby nie blokowały portów, w .env dla CLOUD_DOMAIN podaj adres IP zamiast nazwy domeny. Zobacz czy będzie działać, jak wywołasz stronę po domenie. Powinno działać po potwierdzeniu wyjątku bezpieczeństwa.
myrcin
Posts: 41
Joined: Fri Jun 07, 2019 9:08 am

Fri Sep 27, 2019 5:46 pm

lesny8 wrote:
Fri Sep 27, 2019 5:31 pm
W konfiguracji proxy Nginx przekierowuje po domenie więc chyba nawet nie pyta żadnego DNS o adres IP.

Zrób taki test. Przestaw instancje supli w tryb standalone. Kontenery Nginx zatrzymaj żeby nie blokowały portów, w .env dla CLOUD_DOMAIN podaj adres IP zamiast nazwy domeny. Zobacz czy będzie działać, jak wywołasz stronę po domenie. Powinno działać po potwierdzeniu wyjątku bezpieczeństwa.
Ale ja już konfigurację standalone miałem i działało więc szkoda czasu na ten test.

Co to znaczy, że 'przekierowuje po domenie'? W jaki sposób by to miało działać jeśli nie przez odpytywanie DNS? Skad by Nginx wiedział gdzie wysłać ruch przychodzący z zewnątrz?

Czy potrafisz mi powiedzieć jak zmodyfikować plik hosts wewnątrz kontenera? Chciałbym spróbować zrobić tak, że pod s1.domena.com nginx bedzie widział prywatny adres IP a nie publiczny.
User avatar
lesny8
Posts: 789
Joined: Mon Dec 11, 2017 9:43 pm

Fri Sep 27, 2019 6:13 pm

myrcin wrote:
Fri Sep 27, 2019 5:46 pm
Ale ja już konfigurację standalone miałem i działało więc szkoda czasu na ten test.
To raptem kilka minut a wiedziałbym, czy sieć i DNS działa prawidłowo. Nie pisałeś wcześniej o tym, że łączyłeś się z Suplą działającą w trybie standalone po nazwie domeny, dlatego też prośba o ten test.
Nigdy nie miałem styczności z Azure i nie wiem jak tam się konfiguruje sieć. Napisałeś, że VM ma przypisany adres IP lokalny i zewnętrzny. Masz tam zrobiony forward portów 1 do 1?
myrcin wrote:
Fri Sep 27, 2019 5:46 pm
Co to znaczy, że 'przekierowuje po domenie'? W jaki sposób by to miało działać jeśli nie przez odpytywanie DNS? Skad by Nginx wiedział gdzie wysłać ruch przychodzący z zewnątrz?
To znaczy, że Nginx wie jakie nazwy domen występują w jego sieci 'webproxy', którą sobie tworzy, a w którą wpina się Supla w trybie proxy.
myrcin wrote:
Fri Sep 27, 2019 5:46 pm
Czy potrafisz mi powiedzieć jak zmodyfikować plik hosts wewnątrz kontenera? Chciałbym spróbować zrobić tak, że pod s1.domena.com nginx bedzie widział prywatny adres IP a nie publiczny.
To nie jest konieczne, bo jemu adres IP nie potrzebny. Musi zadziałać bez takich manewrów.
myrcin
Posts: 41
Joined: Fri Jun 07, 2019 9:08 am

Fri Sep 27, 2019 6:28 pm

Nie chciałem być nie wdzięczny za pomoc :)
Ok zrobiłem jak piszesz. W trybie standalone wpisuję w przeglądarkę https://s1.domena.com i Supla się ładuje, mogłem się nawet zalgowować.

W Azure są różne cuda ale ja mam najprostszą konfigurację czyli NAT 1do1 i otwarty port 443 TCP oraz SSH do zarządzania.

W takim razie w hosts nie grzebie bo nie tędy droga.

Więc co jest źle? Jakie kolejne próby mogę wykonać?
User avatar
lesny8
Posts: 789
Joined: Mon Dec 11, 2017 9:43 pm

Fri Sep 27, 2019 6:38 pm

Super :)
Zatrzymaj Suple, uruchom kontenery Nginx, wskaż w .env zamiast adresu IP nazwę domeny i ustaw tryb proxy. Uruchom kontenery Supli.
Po kilku chwilach pokaż co daje

Code: Select all

 docker ps
myrcin
Posts: 41
Joined: Fri Jun 07, 2019 9:08 am

Fri Sep 27, 2019 6:49 pm

Teraz przy starcie Supla wystąpił błąd:

Code: Select all

myrcin@VM-SUPLACloud:~/supla-docker$ sudo ./supla.sh start
Starting SUPLA containers
Recreating supla-db ...
Recreating supla-db ... done
Recreating supla-cloud ...
Recreating supla-cloud ... done
Recreating supla-server ...
Recreating supla-server

ERROR: for supla-server  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for supla-server  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).
Coś to mówi?
User avatar
lesny8
Posts: 789
Joined: Mon Dec 11, 2017 9:43 pm

Fri Sep 27, 2019 7:00 pm

Code: Select all

./supla.sh stop
Edytuj .env i dodaj tam

Code: Select all

COMPOSE_HTTP_TIMEOUT=200
Zapisz zmiany i

Code: Select all

./supla.sh start
myrcin
Posts: 41
Joined: Fri Jun 07, 2019 9:08 am

Fri Sep 27, 2019 7:24 pm

Niestety dodanie tego timeout nie pomogło. Ten sam błąd.
User avatar
lesny8
Posts: 789
Joined: Mon Dec 11, 2017 9:43 pm

Fri Sep 27, 2019 7:50 pm

Dziwne :roll:
Generalnie to przełączenie pomiędzy trybem stndalone a proxy polega na zmianie kilku wpisów w pliku .env i uruchomieniu Nginx i tyle.
Hmm... Spróbuj zrobić reboot Ubuntu.
myrcin
Posts: 41
Joined: Fri Jun 07, 2019 9:08 am

Sat Sep 28, 2019 10:28 am

OK. Zrestartowałem Ubuntu i po restarcie jeden kontener proxy i jeden supla był automatycznie wystartowany.
Zastopowałem wszystko

Code: Select all

myrcin@VM-SUPLACloud:~/docker-compose-letsencrypt-nginx-proxy-companion$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Następnie chciałem wystartować proxy i dostałem taki błąd:

Code: Select all

myrcin@VM-SUPLACloud:~/docker-compose-letsencrypt-nginx-proxy-companion$ sudo ./start.sh
Error response from daemon: network with name webproxy already exists
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 16406  100 16406    0     0  50527      0 --:--:-- --:--:-- --:--:-- 50635
Pulling nginx-web (nginx:latest)...
latest: Pulling from library/nginx
Digest: sha256:aeded0f2a861747f43a01cf1018cf9efe2bdd02afd57d2b11fcc7fcadc16ccd1
Status: Image is up to date for nginx:latest
Pulling nginx-gen (jwilder/docker-gen:latest)...
latest: Pulling from jwilder/docker-gen
Digest: sha256:f86c5374c3384b7de37c221e7fa450df357d2bf473db3eedd0375cf39288d9cc
Status: Image is up to date for jwilder/docker-gen:latest
Pulling nginx-letsencrypt (jrcs/letsencrypt-nginx-proxy-companion:latest)...
latest: Pulling from jrcs/letsencrypt-nginx-proxy-companion
Digest: sha256:04edbb26135500283537f0b2a4a5585d654b204385aec9874a46a664e482ef7c
Status: Image is up to date for jrcs/letsencrypt-nginx-proxy-companion:latest
Starting nginx-web ...
Starting nginx-letsencrypt ...
Starting nginx-web
Starting nginx-gen ...
Starting nginx-letsencrypt
Starting nginx-web ... error

ERROR: for nginx-web  Cannot start service nginx-web: OCI runtime create failed: container with id exists: 1185f963b19a6c75b94cf3e7b3789fee2d3d2d4a2deb5340afStarting nginx-gen ... error

ERROR: for nginx-gen  Cannot start service nginx-gen: OCI runtime create failed: container with id exists: 1e7a9fe175b60f5129c3638cc5466c788c0d20200196431701Starting nginx-letsencrypt ... done

ERROR: for nginx-web  Cannot start service nginx-web: OCI runtime create failed: container with id exists: 1185f963b19a6c75b94cf3e7b3789fee2d3d2d4a2deb5340afb779d934634127: unknown

ERROR: for nginx-gen  Cannot start service nginx-gen: OCI runtime create failed: container with id exists: 1e7a9fe175b60f5129c3638cc5466c788c0d20200196431701e20cfd9a14b6aa: unknown
ERROR: Encountered errors while bringing up the project.
Wcześniej takich błędów nie wyświetlało. Czy może lepiej by było zrobić to wszystko od nowa?
Jeśli tak to jak całkowicie usunąć wszystkie kontenery i co tam jeszcze trzeba aby zaczynać od zera?
Post Reply