Thay đổi bản ghi và bản ghi CNAME


11

Hiện tại tôi đang sử dụng LAMPcấu hình cho cả trang đích của mình, cho ứng dụng web và API. Bây giờ tôi muốn chia những thứ này qua nhiều Máy chủ ảo (VS). Tôi không chắc chắn về cài đặt mạng và trước khi làm rối tung tất cả các cấu hình DNS của tôi, tôi muốn hiểu nếu tôi sắp làm hỏng cấu hình của mình.

Trang đích được lưu trữ tại second level domain(ví dụ myurl.com), ứng dụng web được lưu trữ ở tên miền cấp thấp hơn app.myurl.comvà api tại api.myurl.com. Tôi cũng có một tên miền xem trước : preview.myurl.com, được sử dụng để thử nghiệm.

Kể từ khi tất cả mọi thứ được lưu trữ trên cùng VS, Tôi hiện đang có cũng bốn thư mục khác nhau ( landing, api, webapp, preview), mà đóng vai trò như "máy ảo" cho mỗi tên miền phụ.

Cấu hình DNS của tôi trông như thế này:

myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
api.myurl.com.  CNAME   300 myurl.com.
app.myurl.com.  CNAME   300 myurl.com.
preview.myurl.com.  CNAME   300 myurl.com.

Để bắt đầu, tôi muốn thay đổi dữ liệu của từng mục CNAME thành IP thực tế của VS hiện tại. Vì vậy, nó sẽ trông như thế này:

myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
api.myurl.com.  CNAME   300 123.123.123.123
app.myurl.com.  CNAME   300 123.123.123.123
preview.myurl.com.  CNAME   300 123.123.123.123

Sau đó, ý tưởng là trỏ từng tên miền phụ vào VS. Ban đầu, tất cả các tên miền cấp thấp hơn (ngoại trừ www.) vẫn sẽ được trỏ đến VS hiện tại, trong khi tên miền cấp hai cho trang đích ( Abản ghi cho myurl.com.) sẽ cần trỏ đến một cái mới IPcho một VS mới.

Câu hỏi:

  1. Những thay đổi này sẽ ảnh hưởng đến cách thức mà Apache Server hiện tại đang phân phối lưu lượng cho mỗi thư mục con (tức là landing, api, webapp, preview)? Nếu vậy, ngay cả khi tất cả các IPđịa chỉ vẫn giữ nguyên?
  2. Để kiểm tra mọi thứ, tôi có thể bắt đầu bằng cách chỉ thay đổi datagiá trị preview.myurl.com.mà không có nguy cơ ảnh hưởng đến phần còn lại không?
  3. Khi tất cả các tên miền cấp thấp hơn (ví dụ như api.myurl.com) trỏ đến IP của máy ảo, tôi có thể chỉ cho các Agiá trị của myurl.com.một IP khác mà không ảnh hưởng đến lĩnh vực cấp dưới khác ( api, app, preview)?

2
Không đọc nhiều hơn từ câu hỏi của bạn, bạn không nên sử dụng bản ghi CNAME với địa chỉ IP mà Athay vào đó hãy sử dụng bản ghi:app.myurl.com. A 300 10.123.123.123
HBruijn

Tôi sẽ tiến thêm một bước và nói rằng các bản ghi CNAME phải trỏ đến một tên miền và không thể là địa chỉ IP. Tôi sẽ rất ngạc nhiên nếu một hệ thống quản lý DNS sẽ cho phép bạn đặt địa chỉ IP làm mục tiêu của bản ghi CNAME.
Dre

2
@Dre Bạn có thể đặt các số trong CNAME RR trông giống như một địa chỉ IP, nhưng chúng sẽ được hiểu là một tên miền không đủ tiêu chuẩn.
Michael Hampton

Câu trả lời:


12

Như đã đề cập trong các bình luận, bạn sẽ cần sử dụng các bản ghi A thay vì các bản ghi CNAME. Bản ghi CNAME sẽ không thể trỏ đến Địa chỉ IP.

Chìa khóa để làm cho mỗi trang web hoạt động là chỉ định ServerName chính xác cho từng máy chủ ảo trong cấu hình Apache của bạn.


Cảm ơn, điều đó rất hữu ích. Điều duy nhất tôi không chắc chắn là một chút về Tên máy chủ. Nó trông như thế nào để làm việc đúng? Tôi nghi ngờ là, ServerName có bị ảnh hưởng theo cách nào đó theo cách mà DNS phân giải thành một VS cụ thể không?
don

1
Nếu tôi hiểu bạn chính xác, có. Tên máy chủ là cách Apache biết VS nào sẽ gửi lưu lượng đến .. Giả sử bạn có tất cả các thiết lập bản ghi A trong DNS của mình, tất cả đều trỏ đến địa chỉ 123.123.123.123. Khi bạn duyệt đến myurl.com, yêu cầu của bạn sẽ được gửi đến 123.123.123.123. Apache nhận được yêu cầu và nhận ra rằng nó có một vài trang web trên IP đó, vì vậy Apache sẽ xem xét kỹ hơn yêu cầu bạn đã gửi và nhận ra trình duyệt của bạn đang tìm kiếm myurl.com. Apache sẽ tìm URL đó để khớp với một trong các giá trị Tên máy chủ cho mỗi VS.
Dre

11

Sử dụng Abản ghi để trỏ đến các tên miền phụ

myurl.com.  A   300 123.123.123.123
api.myurl.com.  A   300 123.123.123.123
app.myurl.com.  A   300 123.123.123.123
preview.myurl.com.  A   300 123.123.123.123
www.myurl.com.  CNAME   300 myurl.com.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.