Laravel Forge - subdomain beállítás reverse proxyval
2020 Nov.

Ha szeretnénk egy subdomaint beállítani oldalunkhoz, akkor a következő lépésekkel tudjuk megtenni Laravel Forge használatával.


1. Először is hozzuk létre a fő domain címünket (legyen domain.com) domain kezelő szolgáltatás adminjában. (A, CNAME rekord beállítás, stb.)

2. Forge-ban hozzuk létre egy Site-ot, a fenti domainnel. 

Root Domain: domain.com

Minden más maradjon az alapértelmezett, az Allow Wildcard Sub-Domains checkbox-ot NE állítsuk be.

Megjegyzés: ha Wildcard subdomain-t állítunk be, akkor minden subdomain a domain mögött levő projectre fog írányítódni. Ez akkor jó, ha pl. minden user-ünknek létrehozunk egy subdomaint, viszont egy alkalmazást használunk a user kezelésre (is).
user1.domain.com , user2.domain.com, userN.domain.com -> domain.com mögött levő app-ra fog mutatni.

3. Állítsunk be hozzá egy Let's Encrypt SSL tanúsítványt.

4. Hozzuk létre az aldomain-t domain kezelő adminban A,CNAME,NS rekordokkal (pl: subdomain.domain.com) 

5. Forge-ban szintén készítsünk egy új Site-ot, ahol a Root Domain subdomain.domain.com legyen, és megint csak semmi mást ne változtassunk, létrejön a mappa a projectnek, de nem fogjuk használni.

6. Adjunk ehhez a Site-hoz is egy SSL tanúsítványt

7. Szerkesszük az aldomain nginx konfigurációját. Legalsó menüsor, Files -> Edit Nginx Configuration

8. Mindent hagyjunk úgy ahogy van, mert megfelelő beállítás számunkra, kivéve a location / részt írjuk felül:

A port értékét (itt 8001) írjuk át arra, amin a mi szervízünk fut. Továbbá proxy_redirect részt írjuk át a mi domain címünkre.

location / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass              http://127.0.0.1:8001;
    proxy_read_timeout      90;
    proxy_redirect          http://127.0.0.1:8001 https://subdomain.domain.com;
}

9. Mentés után indítsuk újra az nginx szervert. Alul Restart gomb -> Restart Nginx


10. Ha még nem frissült be az új domain, akkor arra várnunk kell valamennyit.