Điểm:0

Chuyển hướng tên miền gốc sang CloudFront bằng nginx?

lá cờ jp

Lưu ý - Tôi thấy một số câu hỏi khác hỏi về chuyển hướng đến thư mục gốc của các trang web tĩnh S3 của họ, nhưng tôi không thấy gì về việc chuyển hướng từ gốc của một tên miền đến một trang web CloudFront/S3.

Tôi đã triển khai trang web cá nhân của mình lên AWS CloudFront & được lưu trữ tĩnh trên S3. Tôi có một www. Bản ghi CNAME trỏ đến tên máy chủ CloudFront và bản ghi đó hoạt động bình thường, nhưng tôi phát hiện ra rằng bạn không thể có bản ghi CNAME cho thư mục gốc của miền. Tôi đã có một VPS với nginx đang lưu trữ một số dự án khác của tôi - có ổn không khi chỉ cần thêm một bản ghi A từ gốc tên miền vào IP VPS của tôi và có các yêu cầu chuyển hướng nginx cho gốc tên miền sang tên máy chủ CloudFront?

Chỉnh sửa: để làm rõ - điều tôi muốn xảy ra là tất cả lưu lượng truy cập hướng tới example.com được chuyển tiếp tới tên máy chủ CloudFront được chỉ định cho trang web của tôi. tôi có thể làm điều này với www.example.com bằng cách tạo bản ghi CNAME cho 'www.' trỏ đến tên máy chủ mong muốn. Tuy nhiên, có vẻ như Google Domains không cho phép tạo bản ghi CNAME cho thư mục gốc (tức là chỉ example.com) và vì vậy tôi đang tự hỏi làm cách nào để chuyển tiếp lưu lượng truy cập từ example.com sang tên máy chủ CloudFront của mình (ngược lại với những gì tôi có thể làm ngay bây giờ, đó là chỉ để chuyển tiếp www.example.com lên đám mây).

Và trong trường hợp có liên quan, tôi không thể thực hiện bất kỳ loại chuyển hướng ký tự đại diện nào vì tôi đang sử dụng tên máy chủ khác trên miền cho các dự án khác nhau yêu cầu bản ghi A cụ thể.

Và đây có phải là cấu hình nginx được chấp nhận/thực hành tốt cho trang web không? Tôi nghĩ rằng nó sẽ làm việc bởi vì www.example.com đã chuyển tiếp đúng cách đến tên máy chủ CloudFront.

người phục vụ {
        nghe 443 ssl;
        server_name example.com;
        viết lại ^/$ https://www.example.com vĩnh viễn;
        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
}
Tim avatar
lá cờ gp
Tim
Tôi bối rối. Bạn có thể chỉnh sửa câu hỏi của mình để mô tả vấn đề của mình tốt hơn thay vì chỉ đề xuất trạng thái kết thúc không?
the_midnight_developer avatar
lá cờ jp
@Tim Tôi nghĩ bây giờ rõ ràng hơn một chút
Tim avatar
lá cờ gp
Tim
Không thực sự. Bạn đang trộn lẫn các giả định, trạng thái hiện tại và trạng thái mục tiêu, vấn đề và triển khai được đề xuất của mình. Ví dụ: bạn đề cập đến một máy chủ và các tên miền, nhưng chúng là các tên miền, tên miền phụ khác nhau hay chỉ các thư mục bên ngoài tên miền này? Bạn cũng nói "chuyển tiếp lưu lượng truy cập", nhưng đó là triển khai, nó có thể chỉ là một giải pháp tên miền. Tôi đề nghị bạn xóa câu hỏi này và bắt đầu lại, viết nó để giúp người khác dễ dàng. Đề xuất hai phần "trạng thái hiện tại" và "trạng thái mục tiêu" và đảm bảo bạn đề cập đến những gì bạn đang cố gắng đạt được mà không có bất kỳ giả định nào về việc triển khai.
Điểm:0
lá cờ cn

Nếu bạn di chuyển miền của mình sang dịch vụ Route53 của AWS thì việc này rất dễ dàng. Bạn chỉ cần sử dụng trình hướng dẫn để tạo một bí danh record, đây là một tính năng dành riêng cho route53. Với Bí danh, bạn có thể chỉ đỉnh vùng (của bạn ví dụ.com) vào Bản phân phối trên nền tảng đám mây, sau đó chỉ cần tạo một bản ghi thứ hai cho www đó cũng là bí danh của phân phối CF.

Việc di chuyển giữa các công ty đăng ký cũng khá đơn giản - tôi đã tự mình thực hiện việc này từ 123-reg sang AWS vào năm ngoái và nó khá dễ dàng.

Điểm:0
lá cờ cn

Theo tên miền gốc, tôi giả sử bạn có nghĩa là example.com, thay vì www.example.comvà rằng bạn muốn trỏ điều đó tới ứng dụng web đám mây AWS của mình. Một điều bạn có thể làm là tạo một bản ghi A có tên @, về cơ bản có nội dung "đây là tôi. Mọi yêu cầu DNS đối với tôi (example.com) phải chuyển đến địa chỉ IP này." Sau đó, thêm CNAME www trỏ đến @. Bạn có thể sử dụng Nginx nếu muốn, Nginx được sử dụng để truyền qua chỉ là một proxy ngược. Nó sẽ hoạt động như một người trung gian của bất kỳ yêu cầu nào giữa máy khách và máy chủ. Nginx chỉ lặp lại những tin nhắn đó giữa máy khách và máy chủ.

Tôi hy vọng đó là bất kỳ sự giúp đỡ nào, cảm giác của tôi là tôi đã đọc sai câu hỏi

the_midnight_developer avatar
lá cờ jp
Ok tôi hơi bối rối, với thiết lập đó, mục đích của bản ghi CNAME trỏ đến @ là gì? Tôi không thể tạo bản ghi A trỏ đến máy chủ nginx của mình và thực hiện chuyển tiếp như bạn đã nói?
lá cờ cn
Ừ. Điều đó sẽ hoàn toàn ổn. Chỉ cần pass_thru đến máy chủ bạn muốn và đặt bản ghi A của bạn cho máy chủ nginx.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.