eu am exemplu.com
și următoarele cazuri de utilizare:
- Numai SSL
- www.va fi redirecționat către example.com (fără www.)
- example.com va inversa proxy-ul la :3000
- fix1.example.com va inversa proxy-ul la :3001
- fix2.example.com va inversa proxy-ul la :3002
- ...
- *.example.com va inversa proxy-ul la :4000
- *.example.com/admin va inversa proxy-ul la :5000
- example.com/admin, fix1.example.com, fix2.example.com,... nu va avea /admin și nu trebuie să inverseze proxy la :5000
În configurația mea actuală, am următoarele fișiere în site-urile mele disponibile / site-uri activate:
- exemplu.com
- fix1.example.com
- fix2.example.com
- ...
- wild.example.com
Fiecare fișier își configurează propria parte deoarece nu există alt fișier. Dar ajung cu configurații duplicate sau conflictuale, așa că mă gândesc că trebuie să existe o abordare mai bună într-un singur fișier, care să gestioneze întregul domeniu cu toate cazurile de utilizare.
Numai partea SSL și fără www este ușor:
Server {
dacă ($gazdă = www.example.com) {
returnează 301 https://$host$request_uri;
}
nume_server www.example.com;
returnează 301 $scheme://example.com$request_uri;
}
Server {
dacă ($gazdă = exemplu.com) {
returnează 301 https://$host$request_uri;
}
asculta 80;
nume_server example.com;
returnează 301 http://$server_name$request_uri;
}
Dar cum configurez subdomeniile fixe și subdomeniul wild card împreună cu calea /admin?
Acesta este blocul pe care îl folosesc pentru exemplu.com proxy:
Server {
asculta 443 ssl http2;
nume_server example.com;
Locație / {
proxy_pass http://localhost:3000;
proxy_http_versiunea 1.1;
proxy_set_header Actualizare $http_upgrade;
proxy_set_header Conexiune „upgrade”;
proxy_set_header Gazdă $gazdă;
proxy_cache_bypass $http_upgrade;
}
ssl_certificat #...
ssl_certificat_key #...
}