VPS vs DOCKER vs PROXY, Jak skonfigurować VPS do pracy z dockerem z SSL? |
VPS vs DOCKER vs PROXY, Jak skonfigurować VPS do pracy z dockerem z SSL? |
4.12.2017, 11:13:50
Post
#1
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
Panowie/Panie, pomóżcie rozwizać problem.
Mam VPS'a a na nim zainstalowany i działajcy SSL, problem pojawił się kiedy odpaliłęm DOCKER w którym mam uruchomiony serwer do przetwarzania zdjęć, resize, crop, fill według zadanych parametrów. I nie powiem,działa bardzo dobrze ale tylko po http, nie mogę sobie poradzić a próbowałem już chyba wszystkiego. Przeczytałem trochę na temat PROXY, próbowałem poustawiać w/g proponowanych wzorców ale to za diabła nie działa. system: CentOS 7..., httpd 2.4 (Apache2.4), OpenSSL oczywiście i utknałem .... nie rozumiem do końca jak działa Proxy w takim przypadku. konfiguracja serwera VPS:
jak dotad wszystko działa. Poniżej to co ustawiłem dla proxy(osobny plik proxy.conf):
Co źle zrobiłem, może mi to ktoś objaśnić i wskazać jak powinienem to zrobić ,żeby kontenery także były "secure"? Czy może trzeba zainstalować certyfikat również na kontenerze ? Jeśli tak to jak się do tego zabrać ? Doker niby temat nie nowy ale dla mnie .... bardzo. Pozdrawiam phpamator Ten post edytował phpamator 4.12.2017, 11:28:06 |
|
|
4.12.2017, 13:28:35
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) |
Nie musisz mieć proxy, wystarczy że do swojego apache dorzucisz certyfikat, i zbindujesz nie tylko port 80 ale i 443. Jak potrzebujesz proxy to polecam: https://github.com/docker/dockercloud-haproxy ale tutaj również będziesz musiał podpiąć certyfikat, lub zbudować obraz z certyfikatem. Podpiąć certyfikat możesz via volumeny.
|
|
|
4.12.2017, 13:42:16
Post
#3
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
Kolega widze zorientowany w temacie, super, dzięki za podpowiedz, jednak w dalszym ciagu nie wiele mi to powiedziało.
Może rozszerze nieco o co mi chodzi na wszelki wypadek, to że VPS i Docker a w nim kontener to już wiesz. Serwer imgproxy działa na porcie 8080 i nie wiem jak właśnie spowodować żeby ten odpalony na porcie 8080 był secure. Piszac "podpiać certyfikat do Apacha" co masz na myśli, już jeden certyfikat na apachu smiga i jest https i w przeglądarce widzę "Secure" ale tylko jak dobieram się do httpd po HTTPS (port 443) albo przekierowuję zapytania HTTP (port 80) na HTTPS. Nie kumam co mam zrobić z tym kontenerem. I jak mam doczepić kolejny certyfikat do Apacha ? (Centos httpd (apache 2.4)) Jak zbindować port 8080 z kontenera żeby mi go Apache/httpd widział jako "Secure" ? Ten imgproxy to gotowy obraz pociągnięty z github'a. Osobnik który go przygotował (DarthSim) przygotował go do odpalenia bez podawania jakichkolwiek szczegółów dotyczących konfiguracji https niestety, stąd problem i moje pytanie. Ten post edytował phpamator 4.12.2017, 13:44:42 |
|
|
4.12.2017, 13:43:52
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Ustawiasz w Apache HTTPS na adres tego img parsera.
Robisz proxy_pass do dockera na port http (bez cert). i tyle. |
|
|
4.12.2017, 13:46:50
Post
#5
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
No właśnie Pytonku tak zrobiłem
zobacz:
ale wyraźnie źle bo nie wiem jak to powinienem zrobić |
|
|
4.12.2017, 13:49:43
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
No i to jest ok. A przynajmniej tak mi się wydaje (Ja bardziej Nginxowy jestem)
I teraz co dalej Ci nie działa? |
|
|
4.12.2017, 13:50:57
Post
#7
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
No własnie nie ;(
Dlatego pytam |
|
|
4.12.2017, 13:51:46
Post
#8
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
No ale co nie działa konkretnie.
|
|
|
4.12.2017, 14:02:23
Post
#9
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
Konkretnie to nie działa ....... imgproxy
Jak zaglądam do kodu żródłowego strony widzę wygenerowane linki ale nie wyświetla mi obrazów a jak skopiuje te linki do przeglądarki dostaję 404 albo This site can’t provide a secure connection imgproxy.mojserver.net sent an invalid response. Try running Windows Network Diagnostics. ERR_SSL_PROTOCOL_ERROR aha i spodziewałem się, jak już odpaliłem proxy, że url się zmieni i nie będzie mi zwracał .....:8080 tylko https://imgproxy.mojserver.net/...i tu nazwa/url obrazka https://imgproxy.mojserver.net:8080/obqevbu...iYWdzLmpwZw.png a przecież jak https no to nie :8080 ? poza tym jak proxy to adres chyba powinien wyglądać inaczej ? Ten post edytował phpamator 4.12.2017, 14:07:48 |
|
|
4.12.2017, 14:32:59
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
ustaw
ProxyPassReverse imgproxy.mojserver.net/ [Edited] Albo ProxyPass / imgproxy.mojserver.net:8080/ ProxyPassReverse / imgproxy.mojserver.net:8080/ Ten post edytował Pyton_000 4.12.2017, 14:39:36 |
|
|
4.12.2017, 14:44:51
Post
#11
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
Nie pomaga ale chyba coś źle mam skonfigurowane jeśli chodzi o VS'y.
W sumie też nie wiem czy powinienem skonfigurować kontener jako VS ? Nadać mu jakąś nazwę ... kontener.imgproxy.mojserver.net ? ..... ale coś się dzieje bo już nie wywala mi błędów, zamiast tego wygenerowany url po wklejeniu do przeglądarki pokazuje .... "not found" i .... # apachectl configtest AH00526: Syntax error on line 48 of /etc/httpd/conf.d/imager.conf: ProxyPass|ProxyPassMatch can not have a path when defined in a location. Ten post edytował phpamator 4.12.2017, 14:51:16 |
|
|
4.12.2017, 14:50:54
Post
#12
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
A to nie masz? Ok. No to zamień tą "domenę" w PP na 127.0.0.1:8080
|
|
|
4.12.2017, 15:00:40
Post
#13
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
Zacznijmy jeszcze raz
Pokażę ci może httpd.conf -> imgproxy.conf (ten chyba ważniejszy bo "główny" VS jest tutaj)
może od samego początku coś skopałem - chociaż działało a tu coś co miało być związane z kontenerem:
I tu pewnie umrzesz/umrzecie ze śmiechu ...... co za bzdury porobiłem ? Ten post edytował phpamator 4.12.2017, 15:09:12 |
|
|
4.12.2017, 15:11:04
Post
#14
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
To ja może inaczej
Aplikacje w Docker odpalasz sobie na port 80 czyli po "http" Odpalasz apkę i robisz mapowanie portów 80->8080 Na serwerze robisz vhost już normalnie z 80 i 443 z czego 443 robi proxyPass na 127.0.0.1:8080 Czyli w Docker nie potrzebnie masz mapowanie 443. tam dajesz bez certa. Jeśli w Dockerze aplikacja ma wiedzieć czy to https czy nie to do ProxyPass dodajesz: Kod RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Port "443" Rozumisz ? |
|
|
4.12.2017, 15:18:56
Post
#15
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
Czekaj czekaj, w dockerze nie mam 443 wogóle niemam nic tylko apkę którą odpalam na 8080
Wszystko co robię robię na VPS'ie nie na dockerze/kontenerze .... chyba coś mi zaczyna świtać .... chociaż nie do końca Ten post edytował phpamator 4.12.2017, 15:21:18 |
|
|
4.12.2017, 15:25:21
Post
#16
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Tak dokładnie. W dockerze masz tylko apkę po :80.
https załatwiasz po stronie Klient -> LoadBalancer (W twoim przypadku Apache z ProxyPass) |
|
|
4.12.2017, 15:28:40
Post
#17
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
OK, to już krok bliżej, jednak kiedy odpalam/próbuję na porcie 80 dostaję coś takiego:
"docker run -e IMGPROXY_KEY=943b2c86009268de4e532ba2ee2eab8247c6da0881 -e IMGPROXY_SALT=520f986b99f3c1203f22de2374a3d53cb7a7fe9fea309c5 -p 80:80 -t imgproxy /usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint goofy_shockley (0e2fd1184210aff6cf464663b595a8351f8415ab9ac3da8712b293807b43f310): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use." |
|
|
4.12.2017, 15:32:38
Post
#18
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
probujesz odpalic kontener na porcie 80 ale ten port jest juz zajety przez nginx/apache hosta.
Skoro na porcie 80 chodzi ci teraz proxy, to kontener odpal na inny porcie i w proxy przekierowuj na ten inny port -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
4.12.2017, 15:50:08
Post
#19
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Napisałem że port 80 z kontenera masz przekierować na 8080 na Host
czyli: Kod docker run -e IMGPROXY_KEY=943b2c86009268de4e532ba2ee2eab8247c6da0881 -e IMGPROXY_SALT=520f986b99f3c1203f22de2374a3d53cb7a7fe9fea309c5 -p 80:8080 -t imgproxy albo odwrotnie |
|
|
4.12.2017, 16:13:27
Post
#20
|
|
Grupa: Zarejestrowani Postów: 321 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) |
nie wiem, nie rozumiem ... ;( próbowałem docker run -e IMGPROXY_KEY=943b2c86009268de4e532ba2ee2eab8247c6da0881 -e IMGPROXY_SALT=520f986b99f3c1203f22de2374a3d53cb7a7fe9fea309c5 -p 8080:80 -t imgproxy w drugą stronę nie idzie -p 8080:80 Ponieważ ma służyć wyłącznie do tego jednego celu, może poprostu wykopać wszystko, zostawić jedynie proxy. Tylko jak powinien wyglądać w tej sytuacji konfig VS? Może niepotrzebnie kombinuję i komplikuję (jak zwykle) sprawę. To może z innej strony, istnieje jeszcze opcja uruchomienia imgproxy ale bezpośrednio na hoscie. Zainstalowałem wszystkie wymagane elementy w tym vips ale przy próbie uruchomienia imgproxy wywala mi komunikat że vips nie jest zainstalowany albo żeby dopisać ścieżkę. Przekopałem pliki ale nie znalazłem miejsca gdzie mógłbym to zrobić. Z pewnością ta droga była by łatwiejszą ale ... jak widać nie dane mi jest chyba ..... uruchomić imgproxy. W międzyczasie miotając się na prawo i lewo próbując odbryźć sobie ucho ze złości, tak namieszałem, że dostałem taki komunikat: Proxy Error The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Error reading from remote server Czyli coś nowego Ten post edytował phpamator 4.12.2017, 17:18:04 |
|
|
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 12:19 |