2010-09-30 19 views
6

Tôi sẽ triển khai ứng dụng web MVC đầu tiên của mình lên internet.điều cần kiểm tra hoàn toàn khi triển khai ứng dụng web MVC 2?

Là ứng dụng đầu tiên có khung này cho tôi, tôi đã tự hỏi liệu tôi có thể thu thập một số lời khuyên về những gì cần phải làm để ngăn ngừa phiền hà.

Tôi là chung chung về câu hỏi và điều này được thực hiện xpressely để thu thập các câu trả lời khác nhau nhất.

Cảm ơn!

CẬP NHẬT:

Cảm ơn tất cả mọi người cho câu trả lời của bạn. Câu hỏi đặt ra không chỉ liên quan đến việc "triển khai" phạm vi nhưng thậm chí nhiều hơn những phạm vi: Hosting

  • an
  • Công
  • Application Management & Operations

Nói tóm lại, tất cả các vấn đề mà cần được giải quyết từ triển khai ban đầu vào.

Trả lời

7

Nếu bạn đang đi để triển khai trong vòng một giờ:

  1. Hãy chắc chắn rằng các tài liệu tham khảo để System.Web.Mvc được đánh dấu là Sao chép Local = True trong dự án của bạn. Nó có xu hướng mặc định là False, và như vậy sẽ không được sao chép vào thư mục bin của bạn, làm cho ứng dụng thất bại khi được triển khai. Xem lại bất kỳ hội đồng bổ sung nào mà bạn có thể đã thêm vào dự án Sao chép địa phương = True.

  2. Đảm bảo ngăn xếp ngăn xếp không được hiển thị cho người dùng cuối khi ngoại lệ xảy ra trong mã của bạn. Sử dụng <customErrors> trong web.config để chỉ định (các) trang lỗi của riêng bạn.

  3. Trong web.config, hãy đảm bảo rằng các chuỗi kết nối sẽ hoạt động trên máy chủ mà bạn sẽ triển khai.

  4. Ứng dụng của bạn có ghi vào đĩa vì bất kỳ lý do nào không? Đăng nhập có lẽ? Một số dịch vụ lưu trữ sẽ không cho phép ứng dụng của bạn ghi vào đĩa - đáng để kiểm tra trước thời hạn.

  5. Triển khai vào thư mục cục bộ và kiểm tra tính chính xác của ứng dụng đã xuất bản đó. Có phải các tập lệnh, biểu định kiểu, hình ảnh được tải không bị ổn định không?

Nếu bạn có một chút thời gian hơn trên bàn tay của bạn:

  1. Xem lại mã cho an ninh, cân nhắc XSS: được đầu vào vệ sinh? Đầu vào của người dùng có được mã hóa chính xác khi được hiển thị trong chế độ xem không?

  2. Xem lại giản đồ dữ liệu. Đây có thể là cơ hội cuối cùng của bạn để sửa đổi một cơ sở dữ liệu trống. Khi bạn triển khai, bạn chỉ có thể hy vọng cập nhật dữ liệu trực tiếp một cách nhẹ nhàng, cố gắng tránh làm hại dữ liệu hiện có và các phụ thuộc trong logic ứng dụng.

  3. Nếu bạn chưa có, hãy đảm bảo thiết lập tài khoản Google Analytics.Bạn sẽ tò mò về cách trang web của bạn đang được sử dụng, và đây là một trong những công cụ miễn phí tốt nhất hiện có. Phân tích của Goog cũng như đăng ký công cụ tìm kiếm sẽ yêu cầu bạn đặt các tệp có tên sôi nổi trong thư mục gốc của tên miền của bạn. Xác minh rằng ứng dụng của bạn có thể phân phối tệp từ thư mục gốc hoặc thiết lập bộ điều khiển + định tuyến để xử lý các yêu cầu đó.

2

số 0: đảm bảo patch cho padding oracle vulnerability được áp dụng, tất nhiên điều này không chỉ áp dụng cho ASP.NET MVC nhưng bất kỳ ứng dụng asp.net.

+0

bạn có phải là cơ sở dữ liệu oracle không? Bạn có thể vui lòng chỉnh sửa câu trả lời để thêm một số tham chiếu đến bản vá mà bạn đang nói đến không? – Lorenzo

+0

@Lorenzo no, vì lỗ hổng asp.net gần đây, thêm một liên kết tới bài đăng trên blog của tôi mà nó ảnh hưởng đến mvc, và cũng là một trong những lưu ý của ms về nó trong tất cả các kênh phân phối hiện nay (như cập nhật cửa sổ) . – eglasius

1

Nếu bạn đang triển khai trang web MVC của bạn trong máy chủ của riêng bạn với IIS 5.1 hoặc 6:

  1. Hãy chắc chắn để thêm bản đồ cho phần mở rộng * với đường dẫn thực thi để aspnet_isapi.dll và động từ GET,HEAD,POST,DEBUG không cần thiết trong IIS 7..
  2. Nếu bạn đang thêm ứng dụng MVC vào trang web gốc, hãy làm 1 trong trang web gốc ví dụ Default Web Site nếu trên một thư mục ảo làm 1 trong thư mục ảo.
  3. Đảm bảo tất cả tập lệnh và css bao gồm tìm đường dẫn chính xác khi được triển khai.

Nếu bạn đang triển khai trang MVC trong một máy chủ chia sẻ, nơi bạn không có quyền truy cập vào cài đặt IIS.

  1. Đảm bảo bạn đã thêm đúng httpHandlers vào web.config để url viết lại có thể ánh xạ chính xác đến đúng trang.
  2. Một cách khác là thêm Định tuyến tùy chỉnh trong MapRoutes của bạn. ví dụ. thêm một số phần mở rộng (.aspx) trong Maproute mặc định của bạn. ({controller}.aspx/{action}/{id}). Nhưng tôi không khuyên điều này.
Các vấn đề liên quan