Puncte:0

Redirecționați rădăcina domeniului către CloudFront cu nginx?

drapel jp

Notă - văd alte câteva întrebări referitoare la redirecționare la rădăcina site-urilor lor statice S3, dar nu am văzut nimic despre redirecționare din rădăcina unui nume de domeniu la un site CloudFront/S3.

Am site-ul meu personal implementat pe AWS CloudFront și găzduit static pe S3. Am un www. Înregistrarea CNAME care indică numele de gazdă CloudFront și funcționează corect, dar am descoperit că nu puteți avea o înregistrare CNAME pentru rădăcina domeniului. Am deja un VPS cu nginx care găzduiește câteva dintre celelalte proiecte ale mele - este bine să adaug pur și simplu o înregistrare A de la rădăcina domeniului la IP-ul meu VPS și să am cereri de redirecționare nginx pentru rădăcina domeniului către numele de gazdă CloudFront?

Editare: pentru a clarifica - ceea ce aș dori să se întâmple este ca tot traficul care se îndreaptă către example.com să fie redirecționat către numele de gazdă CloudFront atribuit site-ului meu. Sunt capabil să fac asta cu www.example.com prin crearea unei înregistrări CNAME pentru „www.”. indicând numele de gazdă dorit. Cu toate acestea, se pare că Google Domains nu permite crearea înregistrărilor CNAME pentru rădăcină (adică doar example.com), și așa că mă întreb cum să redirecționez traficul de la example.com la numele meu de gazdă CloudFront (spre deosebire de ceea ce pot face chiar acum, care este doar pentru a transmite www.example.com spre cloudfront).

Și în cazul în care este relevant, nu pot face nici un fel de redirecționare wildcard deoarece folosesc alte nume de gazdă pe domeniu pentru diferite proiecte care necesită înregistrări A specifice.

Și ar fi aceasta o configurație acceptabilă/bună practică nginx pentru site? Cred că ar funcționa pentru că www.example.com este deja redirecționat corect către numele de gazdă CloudFront.

Server {
        asculta 443 ssl;
        nume_server example.com;
        rescrie ^/$ https://www.example.com permanent;
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}
Tim avatar
drapel gp
Tim
Sunt derutat. Puteți edita întrebarea pentru a vă descrie mai bine problema, în loc să sugerați doar o stare finală?
the_midnight_developer avatar
drapel jp
@Tim Cred că e puțin mai clar acum
Tim avatar
drapel gp
Tim
Nu chiar. Vă amestecați ipotezele, starea curentă și starea țintă, problema și implementarea propusă. De exemplu, menționați un server și domenii, dar sunt domenii, subdomenii diferite sau doar directoare din acest domeniu? Spui și „trafic înainte”, dar asta e implementare, ar putea fi doar o rezoluție de domeniu. Vă sugerez să ștergeți această întrebare și să începeți din nou, scrieți-o pentru a le ușura altora. Sugerați două secțiuni „starea curentă” și „starea țintă” și asigurați-vă că acoperiți ceea ce încercați să realizați fără nicio presupunere cu privire la implementare.
Puncte:0
drapel cn

Prin rădăcină de domeniu, presupun că vrei să spui example.com, în loc de www.example.comși că doriți să trimiteți acest lucru către aplicația dvs. web AWS cloud. Un lucru pe care îl puteți face este să creați o înregistrare A numită @, care spune în esență „Acesta sunt eu. Orice solicitare DNS către mine (example.com) ar trebui să meargă la această adresă IP”. Apoi adăugați un CNAME www care indică @. Puteți folosi Nginx dacă doriți, Nginx folosit pentru trecere este doar un proxy invers. Acesta va acționa ca un intermediar al oricăror solicitări dintre client și server. Nginx doar repetă acele mesaje între client și server.

Sper că a fost de ajutor, sentimentul meu este că am citit greșit întrebarea

the_midnight_developer avatar
drapel jp
Ok, sunt puțin confuz, cu acea configurație, care este scopul înregistrării CNAME care indică către @? Nu pot să creez înregistrarea A care indică serverul meu nginx și să fac redirecționarea așa cum ați spus?
drapel cn
Da. Ar fi perfect. Trebuie doar să-l transmită pe serverul pe care îl doriți și să setați înregistrarea A pe serverul nginx.
Puncte:0
drapel cn

Dacă vă migrați domeniul la serviciul AWS Route53, acest lucru este foarte ușor. Pur și simplu utilizați vrăjitorul pentru a crea un Alias înregistrare, care este o caracteristică specifică rutei 53. Cu un Alias ​​puteți îndrepta vârful zonei (vostru exemplu.com) în Cloudfront Distribution și apoi creați o a doua înregistrare pentru www acesta este, de asemenea, un alias al distribuției CF.

Migrarea între registratori este, de asemenea, destul de simplă - am făcut asta chiar de la 123-reg la AWS anul trecut și a fost destul de nedureroasă.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.