meetjspl / poznan

Wszystkie organizacyjne sprawy Meet.js Poznań
69 stars 1 forks source link

Skryptowanie nginx-a za pomocą js-a. Case study na rzecz wydajności i prywatności #88

Closed kuba-orlik closed 1 year ago

kuba-orlik commented 2 years ago

Na https://www.internet-czas-dzialac.pl/ wdrożyłem proxy nginx-owe, które przepisuje HTML-a w locie i podmienia URL-e do zewnętrznych obrazków umieszczane przez CMS-a na adres proxy, które cache'uje obrazki i zapobiega ujawnianiu Origina i Referera naszych czytelników do podmiotów trzecich.

Rewriting i kryptograficzna walidacja linków zapobiegająca nadużyciom jest napisana w js, za pomocą nginx-owego runtime'u js-owego. Ten moduł daje potężne możliwości i pozwala nieźle odciążyć aplikację lub wpływać na zachowanie aplikacji, których kodu nie możemy/nie chcemy/nie potrafimy zmienić.

Feedback welcome :)

orchowski commented 2 years ago

Podoba mi się ten pomysł. Do tej pory byłem przekonany że jak ngnix to tylko lua.

tniezurawski commented 2 years ago

Na tyle mało zrozumiałem z tego zagadnienia, że chętnie bym posłuchał. Chociażby aby bardziej zrozumieć "dlaczego?" 😉 tzn. co to za nadużycia przed którymi ta technika nas broni 🤔

kuba-orlik commented 2 years ago

U nas use case był taki - korzystamy z CMS-a, który po wklejeniu linka do artykułu generuje ładny "card", który zawiera coverowy obrazek z tego artykułu i krótki opis. Ten obrazek jest serwowany z domeny, na ktorej jest ten artykuł. Przez co wyciekamy adres IP (i czasem origin) do podmiotu trzeciego. A to już problem z punktu widzenia RODO. Chcieliśmy zachować funkcjonalność cardów z zachowaniem prywatności, bez grzebania w kodzie CMS-a. I udało nam się to zrobić właśnie za pomocą js-a w nginx :D

O samym RODO w kontekście webu też mogę zrobić jakąś osobną prezkę, bo mam obszerne doświadczenie z UODO w tej materii ;)

SebastianPozoga commented 1 year ago

@kuba-orlik Cześć Dalej jesteś zainteresowany poprowadzeniem prezentacji? Czy odpowiadałby Ci termin 27 kwietnia (czwartek)?

kuba-orlik commented 1 year ago

Cześć! Nadal jestem zainteresowany poprowadzeniem prezentacji. Niestety 27. kwietnia jestem na wyjeździe służbowym i wtedy akurat nie dam rady poprowadzić. Jestem za to otwarty na kolejne terminy!

kuba-orlik commented 1 year ago

Daję znać, że temat nadal u mnie aktualny i mogę go przedstawić przy którejś z nastepnych okazji :)

SebastianPozoga commented 1 year ago

Cześć Następne spotkanie planujemy 10.10.2023. Czy chcesz w tym terminie poprowadzić prezentację?

kuba-orlik commented 1 year ago

Pasuje, z chęcią poprowadzę :)

SebastianPozoga commented 1 year ago

Dodałem stronę wydarzenia. Na początku tygodnia ruszamy z promocją. Jeśli masz jakieś uwagi / chcesz coś dodać pisz :-) https://www.meetup.com/meet-js-poznań/events/296293629/

SebastianPozoga commented 1 year ago

Bardzo dziękujemy za poprowadzenie prezentacji. Niestety z uwagi na błąd przy ustawieniu wzmacniacza (problemy z dźwiękiem) nie możemy opublikować nagrań :-/ Postaram się, żeby w przyszłości nie było takich problemów.

Mam nadzieję, że Ty również wyciągnąłeś wiele z prezentacji. Nabyłeś nowe umiejętności lub dopracowałeś już posiadane. Liczymy, że będziesz z nami :-) zarówno jako uczestnik, jak i prowadzący :-)