Citat:
Ursprungligen postat av
Freddyfish
Sätt upp en reverseproxy framför istället.
Apache eller Nginx, vad som du tycker är enklast.
Fet tumme upp på dig!
Absolut ska du sätta en nginx proxy framför.
Apache kan också göra jobbet, men endast om man redan är bekant med det.
Jag finner ingen anledning att lära sig Apache om det inte det är ett krav för det man vill sätta upp.
Sätt upp en nginx proxy som lyssnar på det publika interfacet (dvs det ut på internet)
Skapa din vhost config med certifikat (och aktivera http2)
Din nodejs applikation kan du sätta upp så att den lyssnar på localhost.
När det gäller vilken port den ska lyssna på så välj en mellan 1024-65535
Anledning till den porten är för då kan du starta applikationen med användarrättigheter - portarna 1-1023 får endast användas av root användaren.
För ska du skriva en applikation själv - och speciellt om du kör en massa inkluderade paket (angular och alla dessa jävla requirements den har) så ska de ALDRIG köras som root användaren.
Fördelen med att ha en nginx i fronten är att du kan spinna upp flera olika applikationer och hemsidor på den servern.
Trafiken regleras av nginx i stil med:
- om trafik kommer in och vill besöka minapp.mindomän.se - skicka vidare det till nodejs på localhost:8080
- om trafik kommer in och vill besöka minblogg.mindomän.se - skicka vidare det till localhost:80801 (detta kan vara en apache med php)
- om trafik kommer in och vill besöka annat.mindomän.se - skicka vidare den trafiken till min Amazon s3 bucket eller dyl.
Samt, du slipper pilla med certifikat på alla de slutmålen, det är endast nginx som behöver köra det.