GoProject

Uzstādīšana un uzturēšana

Apgrieztais starpniekserveris un HTTPS

Kas jāpalaiž cauri starpniekserverim GoProject priekšā un kā izmēģināt bez tā.

GoProject runā vienkāršu HTTP uz APP_PORT. HTTPS beidzas jūsu paša apgrieztajā starpniekserverī (nginx, Caddy, Apache, slodzes līdzsvarotājs) tā priekšā.

Kas starpniekserverim jādara

  • Jāpalaiž cauri WebSocket pārslēgšana uz /ws: galvenes Upgrade un Connection (nginx: proxy_http_version 1.1 un abas galvenes; Caddy to dara pats). Bez tām dēļi, iesūtnes zvaniņš, čats un kopīgie dokumenti neatjaunojas tiešsaistē.
  • Jāpieņem pieprasījuma ķermenis vismaz 500 MB: vairāki pielikumi tiek augšupielādēti vienā pieprasījumā, un lietotne pieņem līdz 500 MB vienā pieprasījumā.
  • Jāsūta X-Forwarded-Proto un X-Forwarded-For: no tām lietotne uzzina publisko adresi un cilvēka IP adresi.
  • Pašam jāliek Strict-Transport-Security un Permissions-Policy: lietotne HTTPS neredz, tāpēc tās nesūta.
  • Jāatstāj neskarta sīkdatne XSRF-TOKEN un galvene X-XSRF-TOKEN: bez tām katra izmaiņa tiek atraidīta ar 403.

Starpniekserveris publiskā adresē

Pārsūtītajām galvenēm lietotne tic tikai no starpniekservera privātā adresē (10/8, 172.16/12, 192.168/16, loopback). Ja jūsu starpniekserveris ir publiskā adresē, ierakstiet tieši šo adresi .env, piemēram, SERVER_TOMCAT_REMOTEIP_INTERNAL_PROXIES=203\.0\.113\.7; citādi audita žurnālā nonāk starpniekservera adrese, nevis cilvēka. Nekad nenosauciet plašāku diapazonu par pašu starpniekserveri.

Izmēģinājums bez starpniekservera

Izmēģinājumam ar vienkāršu HTTP bez starpniekservera .env ierakstiet SESSION_COOKIE_SECURE=false, citādi pārlūks atmet pieteikšanās sīkdatni un neviens nevar pieteikties. Pirms īstas lietošanas atlieciet atpakaļ true.

Pēc katras .env izmaiņas to piemērojiet:

docker compose up -d
Apgrieztais starpniekserveris un HTTPS | GoProject