Lỗi HTTP 503. Dịch vụ không khả dụng. Nhóm ứng dụng dừng khi truy cập trang web


167

Có số lượng bài viết về điều này và tôi đã thử nhiều thứ cho đến bây giờ. Nhưng không có kết quả. Bản thân tôi là một Nhà phát triển Winforms, đã bắt đầu làm việc trên công cụ Web này vài ngày trước khi công ty của tôi thực hiện các sáng kiến ​​Web.

Tôi có một dự án ASP.Net và tôi muốn lưu trữ nó trên IIS cục bộ. Trong Project properties -> Webcài đặt, tôi đã chọn Use Local IIS Servervà đưa ra một url là localhost/MyApp. Tôi đã thử truy cập nó trên trình duyệt firefox của tôi và nhận được lỗi làHTTP Error 503. The service is unavailable.

Trước đây tôi có nhiều lỗi khác và tôi từng người sửa một lỗi. Nhưng đánh với cái này. Đây là những cài đặt tôi có trong dự án của mình

  1. Nhóm ứng dụng được đặt thành ASP.Net v4.0 Classic
  2. Enable 32 bit ApplicationTài sản ứng dụng Pool là đúng
  3. Nhóm ứng dụng được bắt đầu
  4. Thuộc tính xây dựng dự án được đặt Any CPUcho khung Target

Nhưng tôi muốn đề cập đến một hành vi kỳ lạ. Sau đây là điều mà tôi đang phải đối mặt

  1. Nhóm ứng dụng được bắt đầu
  2. Tôi cố gắng truy cập trang web địa phương của mình (bằng cách cung cấp url dưới dạng localhost/MyApp)
  3. Tôi nhận được lỗi là HTTP Error 503. The service is unavailable
  4. Nhóm ứng dụng bị dừng

Tôi đã thấy liên kết sau đây và tôi đã thử nó. Đối với các hành vi trên tôi đạt đến đây . Theo liên kết này, tên máy tính không nên có .trong đó. Tôi không có bất kỳ .tên máy tính nào nhưng có -trong đó. Ngoài ra tên miền của tôi chứa .trong đó. Ngoài ra, tôi không thể thay đổi các cài đặt này vì máy tính xách tay văn phòng của tôi và cài đặt TFS của chúng tôi bị ràng buộc với Tên miền và Tên máy tính của chúng tôi.

Bất cứ ai có thể giúp tôi hiểu những gì đang xảy ra? Xin vui lòng hướng dẫn cho tôi. Cảm ơn.

Biên tập

Tôi có mã sau đây Global.asax. Application_BeginRequestphương thức trống trong cùng một tập tin.

protected override void Application_Start(object sender, EventArgs e)
{
    base.Application_Start(sender, e);
    String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
                                         System.Environment.GetEnvironmentVariable("PATH"));
    System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
    MyAppLog.Initialize();
    MyAppLog.WriteMessage("Application Started");
}

Cập nhật

Theo các đề xuất trong Nhận xét, tôi có thể chạy trang web từ Cassini.


Bạn có mã nào trong Global.asax chạy trên ứng dụng không? Bất cứ điều gì có thể bị mắc kẹt trong một vòng lặp? Bạn đã bật Enable 32 bit Applicationnhưng bạn có đang sử dụng bất kỳ tệp DLL chỉ 32 bit nào không?
Mã hóa

Điều gì xảy ra khi bạn chạy nó trong Cassini?
Simon Whitehead

@RGraham: Tôi có thuộc tính xây dựng dự án được đặt thành Any CPU. Vì vậy, tôi nghĩ rằng dlls được sử dụng không phải là một vấn đề. Vui lòng xem chỉnh sửa cho mã Global.asax. Cảm ơn
Sandy

@SimonWhitehead: Không biết Cassini là gì. Tôi đã tải xuống bây giờ từ cassinidev.codeplex.com . Tôi có thể thấy một số dll và exe trong các tập tin tải về. Bạn có thể vui lòng giúp tôi làm thế nào để sử dụng nó? Trong khi đó tôi sẽ cố gắng đọc về vấn đề này từ các nguồn internet.
Sandy

@SimonWhitehead: Tôi có thể chạy trang web từ Cassini.
Sandy

Câu trả lời:


315

Một lý do có thể xảy ra là Nhóm ứng dụng trong IIS được định cấu hình để chạy trong một số tài khoản tùy chỉnh và tài khoản này không tồn tại hoặc mật khẩu sai đã được cung cấp hoặc mật khẩu đã bị thay đổi. Nhìn vào các thuộc tính nâng cao của Nhóm ứng dụng trong IIS cho tài khoản mà nó sử dụng.

Ngoài ra, Nhật ký sự kiện có thể chứa nhiều thông tin hơn về lý do tại sao Nhóm ứng dụng dừng ngay lập tức theo yêu cầu đầu tiên.

nhập mô tả hình ảnh ở đây


38
Trong trường hợp của tôi, đây là vấn đề. Tôi đã thay đổi mật khẩu Windows và IIS cục bộ cho Windows 8.1 ngừng hoạt động. Tôi đã phải cập nhật từng dự án ở nhiều nơi. Trong IIS 8, tôi đã phải cập nhật thông tin đăng nhập trong nhóm ứng dụng bằng cách nhấp chuột phải vào nhóm và nhấp vào "Cài đặt nâng cao -> Mô hình quy trình -> Danh tính". Sau đó, tôi đã phải tự cập nhật Trang web bằng cách truy cập "Trang web -> MySITE -> Cài đặt nâng cao -> Thông tin xác thực đường dẫn vật lý"
teynon

4
Ngay cả khi tài khoản tồn tại và mật khẩu chính xác, nó có thể đã bị vô hiệu hóa; Điều này sẽ gây ra các triệu chứng tương tự.
Wolfgang

2
Vâng, đó là giải pháp. Mật khẩu tài khoản của tôi được thay đổi rất thường xuyên. Và tôi đã quên cung cấp mật khẩu mới trong "Cài đặt nâng cao"
mihkov

2
kiểm tra Nhật ký sự kiện là cách tốt nhất, luôn giúp tôi trong các vấn đề này, lần trước tôi đã kiểm tra nhật ký sự kiện và tôi thấy rằng đó là lỗi khi tải bản ghi lại trong iis, tôi đã đi đến các chương trình và tính năng trong bảng điều khiển, Sửa chữa cài đặt, và mọi thứ trở lại bình thường.
Amr Elgarhy

3
Chúng tôi đã có một sự thay đổi mật khẩu gần đây. Đây là giải pháp. Đối với những người khác, xem ảnh chụp màn hình tại đây: i.imgur.com/rp8bnGy.png
AskYous

43

Ok, tôi có một giải pháp khác cho một trường hợp cụ thể: nếu bạn sử dụng WINDOWS 10 và bạn đã cập nhật nó gần đây (với gói Anniversary Update), bạn cần làm theo các bước dưới đây:

  1. Kiểm tra của bạn Windows Event Viewer - nhấn Win + R và gõ : eventvwr, sau đó nhấn ENTER.
  2. Ở phía bên trái của Windows Event Viewernhấp vàoWindows Logs -> Application.
  3. Bây giờ bạn cần tìm một số LRI cho nguồn IIS-W3SVC-WP trong cửa sổ giữa.
  4. Có thể bạn sẽ thấy thông báo như:

Mô-đun DLL >> đường dẫn đến DLL << không tải được. Dữ liệu là lỗi.

  1. Bạn phải đi đến Control Panel -> Program and Featuresvà tùy thuộc vào việc dll không thể tải mà bạn cần sửa chữa một mô-đun khác:
    • cho rewrite.dll- tìm IIS URL Rewrite Module 2 và nhấpChange ->Repair
    • cho aspnetcore.dll- tìm Microsoft .NET Core 1.0.0 - Công cụ VS 2015 ... và nhấp Change-> Repair.
  2. Khởi động lại máy tính của bạn.

Câu trả lời này đã giúp tôi khắc phục một vấn đề tương tự. Đã sửa lỗi "Dịch vụ không khả dụng" bằng cách xóa Core 2.2 (chỉ sửa chữa không sửa). bỏ phiếu.
Roberto

2
Câu trả lời được chấp nhận không giúp được gì. Điều này đã làm. Cảm ơn!
Người ủng hộ của quỷ

1
câu trả lời tuyệt vời, nhật ký hiển thị cho tôi Mô-đun DLL C: \ Windows \ System32 \ inetsrv \ compdyn.dll không tải được. Dữ liệu là lỗi. vì vậy tôi cài đặt Nén nội dung động
Mehdi Daustany

Đối với tôi, đó là: The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.Vì vậy, tôi đã cài đặt Chọn phía máy chủ Bao gồm theo đề xuất này
David Refoua

14

Đối với tình huống của tôi là mật khẩu đăng nhập của tôi đã thay đổi, trong khi nhóm ứng dụng vẫn sử dụng mật khẩu cũ. Vì vậy, chỉ cần nhấp vào "Cài đặt nâng cao" của nhóm ứng dụng của bạn và đặt lại "Danh tính".


Tôi đồng ý rằng điều này xảy ra khá thường xuyên
Sandy

11

Tôi đã phải đối mặt với cùng một vấn đề và đã gỡ lỗi bằng cách sử dụng nhật ký sự kiện. Đầu tiên, nó nói rằng: "Không thể tìm thấy mô tả cho ID sự kiện 5059 từ nguồn Microsoft-Windows-WAS".

Sau đó tôi bật WAS bằng cách bật / tắt các tính năng của windows . Sau đó, tôi đã thấy điều này trong sự kiện "Không thể tìm thấy Microsoft-Windows-DistributCOM".

Cuối cùng tôi đã từ bỏ và xóa App Pool (đã từng dừng truy cập trang web) và tạo lại nó, như vậy. Điều này đã giải quyết vấn đề.


Và nếu bạn appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
tình cờ

Làm việc cho tôi quá. Bằng cách nâng cấp từ 2008 đến 2012, nhóm ứng dụng không hoàn toàn hài lòng.
Anthony Horne

6

Đối với bất kỳ ai đến đây với Windows 10 và sau khi cập nhật chúng lên bản cập nhật Anniversary, vui lòng kiểm tra liên kết này, nó đã giúp tôi:

https://orcharddojo.net/blog/troubledhoot-iis-apppool-crashes-status-503-after-windows-10-annlahoma-update

Trong trường hợp liên kết không hoạt động: Nếu Nhật ký sự kiện của bạn cho thấy aspnetcore.dll, Rewrite.dll (thường xuyên nhất, nhưng cũng có thể là những người khác) không tải được, bạn phải sửa chữa các mục bị thiếu.

Đây là hai vấn đề cụ thể mà chúng tôi đã gặp phải cho đến nay và cách khắc phục chúng, nhưng bạn có thể gặp phải những vấn đề hoàn toàn khác nhau:

"C:\WINDOWS\system32\inetsrv\rewrite.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "IIS URL Rewrite Module 2".
"C:\WINDOWS\system32\inetsrv\aspnetcore.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...".

6

Hầu hết thời gian, nó đã xảy ra do Cài đặt AppPool.

Kiểm tra các mục sau để giải quyết vấn đề này

  1. Kiểm tra dịch vụ Apppool đang chạy.
  2. Kiểm tra danh tính của AppPool.
  3. Nhập mật khẩu mới nếu nó đã thay đổi cho danh tính đó.

Các hình ảnh sau đây cho thấy các thiết lập này trong IIS

nhập mô tả hình ảnh ở đây


5

Nếu bạn có McAfee HIPS và nếu bạn thấy lỗi sau trong nhật ký ứng dụng trình xem sự kiện:

Mô-đun DLL C: \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll không tải được.
Dữ liệu là lỗi.

Sau đó, vấn đề sau đã giải quyết vấn đề trong trường hợp của tôi: https://kc.mcafee.com/cor merg / index? Page = content & id = BB72677 & actp = LIST

Trích dẫn từ trang:

  1. Bấm Bắt đầu, Chạy, gõ thám hiểm và bấm OK.
  2. Điều hướng đến:% Windir% \ system32 \ inetsrv \ config
  3. Mở tệp applicationhost.config làm Quản trị viên để chỉnh sửa trong Notepad.
  4. Chỉnh sửa phần <globalModules> và xóa dòng sau:
    <add name = "MfeEngine" image = "% Windir% \ System32 \ inetsrv \ HipIISEngineStub.dll" />

  5. Chỉnh sửa phần <mô-đun> và xóa dòng sau:
    <add name = "MfeEngine" />

  6. Sau khi bạn chỉnh sửa xong tệp applicationhost.config, hãy lưu tệp, sau đó khởi động lại máy chủ IIS bằng iisreset hoặc bằng cách khởi động lại hệ thống.

5

Trong trường hợp của tôi, tôi đã kiểm tra nhật ký sự kiện và phát hiện lỗi là Không thể đọc tệp cấu hình 'đang cố đọc dữ liệu cấu hình từ tệp' \\? \ ', Số dòng' 0 '. Trường dữ liệu chứa mã lỗi.

Mã lỗi là 2307.

Tôi đã xóa tất cả các tệp trong C: \ inetpub \ temp \ appPools và khởi động lại iis. Nó đã khắc phục vấn đề.


4

Tôi đã có một vấn đề tương tự. Tôi đã giải quyết nó bằng cách thêm người dùng của mình vào chính sách "Đăng nhập như một công việc hàng loạt" trong "Chính sách bảo mật cục bộ"> "Chính sách cục bộ"> "Chuyển nhượng quyền người dùng".


4

Khi tôi lần đầu tiên thêm dịch vụ và tạo nhóm ứng dụng cho nó. Tôi đã "iisreset" từ dấu nhắc lệnh và nó đã hoạt động.


3

Nếu bạn có thể chạy trang web trong trình gỡ lỗi Visual Studio, thì có thể thấy vị trí trong mã của bạn mà nhóm ứng dụng bị lỗi. Trong trường hợp của tôi, đó là một hàm được gọi đệ quy không giới hạn số lần và điều đó gây ra tràn ngăn xếp. Lưu ý: nhật ký sự kiện Windows và nhật ký IIS không hữu ích để chẩn đoán sự cố.


3

Tôi đã có cùng một vấn đề với iis 8.5. Sau khi tìm kiếm eventViewer trong windows Nhật ký -> ứng dụng, tôi nhận ra rằng tôi đang gặp lỗi về quyền đối với tệp machine.config của khung .net nằm ở "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Cấu hình \ machine.config ". Cho phép IIS_IUSRS giải quyết vấn đề của tôi (nhấp chuột phải vào tệp -> thuộc tính -> bảo mật -> chỉnh sửa -> thêm -> IIS_IUSRS)


3

Tôi đã gặp phải lỗi này và trong trường hợp của tôi, nguyên nhân là do một thời gian trước tôi đã sửa đổi mật khẩu người dùng và lỗi 503 không xuất hiện cho đến khi tôi khởi động lại nhóm ứng dụng.

Vì vậy, tôi đã sửa nó đặt mật khẩu mới trên Nhóm ứng dụng / Cài đặt nâng cao / Danh tính / [...] / Đặt ... / Mật khẩu / Xác nhận mật khẩu


2

Tôi gặp vấn đề tương tự, tất cả các nhóm ứng dụng của tôi đã dừng bất cứ khi nào một yêu cầu web được thực hiện cho họ. Mặc dù tôi đã gặp lỗi sau trong Trình xem sự kiện:

Quá trình xử lý cho nhóm ứng dụng 'appPoolName' đã gặp lỗi 'Tệp cấu hình không được định dạng tốt XML' đang cố đọc dữ liệu cấu hình từ tệp '\? \ C: \ inetpub \ temp \ apppools \ appPoolName \ appPoolName.config', dòng số 3'. Trường dữ liệu chứa mã lỗi.

Điều này cho tôi biết rằng có lỗi trong ứng dụng.config tại:

C: \ Windows \ System32 \ inetsrv \ config \ applicationhost.config

Trong kịch bản của tôi, tôi đã chỉnh sửa web.config khi triển khai với một phần tử IIS không thích rõ ràng, applicationhost.config đã loại bỏ web.config và chèn phần tử xấu này và sẽ không giải quyết cho đến khi tôi gỡ bỏ thủ công


"Một yếu tố IIS rõ ràng không thích" yếu tố cụ thể mà bạn đã đề cập là gì ??
Akhil

Tôi đã thực hiện bài đăng này hơn 4 năm trước. Tôi không chắc phần tử nào trong web.config nhưng đó không phải là vấn đề. Sự cố nhóm ứng dụng mà OP mô tả đang xảy ra với tôi và tôi đã nhận lại những thông báo lỗi không có ích này. Nguyên nhân của những điều trên là do tôi đã đặt một mục không chính xác vào web.config trang web của tôi. (có thể có lỗi chính tả hoặc lỗi cú pháp hoặc phần mà IIS không nhận ra là hợp lệ)
ShaneC


2

Thay đổi "Chế độ đường ống được quản lý" từ "Cổ điển" thành "Tích hợp" hoạt động với tôi. Nó có thể được thay đổi tại Nhóm ứng dụng -> Cài đặt cơ bản


Điều này đã khắc phục sự cố của tôi xuất hiện sau khi áp dụng các cửa sổ KB sau cho máy chủ windows 2008 R2 của chúng tôi chạy IIS 7.5. ### 2019-07 Bản bảo mật và chất lượng cho .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 cho Windows 7 và Server 2008 R2 cho x64 (KB4507420) Thông tin thêm: support.microsoft.com/kb/4507420 ###
phanf

1

Chỉ cần để thêm vào những Anniversary Updatevấn đề (nhờ Microsoft) nếu tập tin bạn đang thiếu là cgi.dll, tức là bạn Event Viewer

The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load.  The data is the error.

Sau đó, để khắc phục điều này:

  1. Đi đến IIS Manager
  2. Chọn hàng trên cùng trong Connections bảng điều khiển (thường là tên PC của bạn)
  3. Ở dưới cùng của bảng bên phải, bên dưới Management, bạn nên cóWeb Platform Installer
  4. Khi tải xong, chọn Products
  5. Trong loại tìm kiếm cgisau đó nhấn<Enter>
  6. Chọn IIS: CGIsau đó nhấp Addvào bên phải và cuối cùng Installở phía dưới
  7. Sau khi cài đặt, nó sẽ buộc bạn khởi động lại PC và bạn sẽ được sửa.

1
Của tôi là "Url Rewrite" mà tôi đã gỡ cài đặt và sau đó cài đặt lại. Bởi vì tôi đã gặp lỗi này: "Mô-đun DLL C: \ WINDOWS \ system32 \ inetsrv \ Rewrite.dll không tải được. Dữ liệu là lỗi."
Gwasshoppa
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.