Apache 2.4 không thành công và không thể dừng trên Windows Server


11

Chúng tôi có hai Windows Server , một trong 2012 R2 và một ở 2008 R2 trong đó sử dụng Apache HTTP Server ( httpd) 2.4 trong proxy / chế độ reverse-proxy (sử dụng ProxyPass, ProxyPassReversevà máy chủ ảo cấu hình). Cả hai máy chủ đều sử dụng bản dựng nhị phân Apache 2.4.27 x64 từ Apache Haus.

Chúng tôi có một số tập lệnh sao lưu đang chạy trên cả hai máy chủ. Họ dừng tất cả các dịch vụ (bao gồm cả Apache) sau đó thực hiện sao lưu và khởi động lại tất cả các dịch vụ.

Các kịch bản này đang hoạt động tốt kể từ vài năm (gần 4 năm). Nhưng bắt đầu từ July 12, 2018, hành vi bây giờ là lạ. Các tập lệnh sao lưu đang thực hiện công việc của chúng, dừng tất cả các dịch vụ, tạo bản sao lưu nhưng bây giờ, tất cả các dịch vụ đều được khởi động lại trừ Apache.

Sau khi điều tra, tôi thấy rằng dịch vụ Apache 2.4.27 không thể dừng lại. Khi sử dụng bảng điều khiển Dịch vụ và cố gắng dừng dịch vụ theo cách thủ công, bảng điều khiển hiển thị "Dừng" và không có gì xảy ra.

Vì vậy, tôi đã kiểm tra các quy trình đang chạy và thấy rằng một httpd.exequy trình đang chạy. Tôi đã cố giết quá trình đó nhưng không có may mắn.

Vì vậy, tôi đã thử:

taskkill /im "httpd.exe" /f /t

Và đầu ra là:

ERROR: The process with PID 560 (child process of PID 480) could not be terminated.
Reason: There is no running instance of the task.

Vì vậy, tôi đã thử nghiệm để giết quá trình pskilltừ Sysiternals:

pskill -t 560

Và đầu ra là:

Copyright (C) 1999-2016  Mark Russinovich
Sysinternals - www.sysinternals.com

Process 5956 killed.

Nhưng điều này là sai, vì httpdquá trình luôn luôn chạy!

Vì vậy, tôi đã cập nhật Apache từ 2.4.27 đến 2.4.34, nhưng vấn đề vẫn còn. Điều duy nhất cần làm để bỏ chặn tình huống là khởi động lại toàn bộ máy chủ.

Tôi đã kiểm tra các bản cập nhật đã cài đặt và một số trong số chúng đã được cài đặt vào July 11, 2018một ngày trước đó:

  • KB4338420
  • KB4338818
  • KB4339093
  • KB4338423

Vì vậy, tôi cho rằng vấn đề là từ một trong những cập nhật này. Vì vậy, trước khi gỡ cài đặt tất cả chúng, có ai đó có cùng vấn đề với tôi không, ý tôi là Apache 2.4 trở nên không thể sử dụng được và không thể dừng lại trên Windows Server?

Vấn đề lớn là, nếu httpdquá trình đó không thể bị giết, Apache không thể được khởi động lại vì cổng 80 đã bị ràng buộc.


3
Tiêu đề làm cho nó nghe như một con quái vật trong phim ..
Trotski94

Nó đã bị truy nã hahaha
SiZiOUS 16/07/18

Câu trả lời:


10

OK, vì vậy tôi nghĩ rằng tôi đã đi đúng hướng.

Sau khi tìm kiếm trên Web về các bản cập nhật được cài đặt gần đây, KB4338818 là một trong những vấn đề gây ra.

Điều này đang xảy ra đối với các phần mềm khác, như FileZilla Server, như chi tiết ở đây .

Tôi vừa gỡ cài đặt Bản cập nhật bảo mật này và bây giờ Apache có thể được khởi động / dừng như bình thường!

Vì vậy, tôi hy vọng Microsoft sẽ sửa lỗi này trong bản cập nhật sau!


Tôi thấy bạn đã tìm thấy câu trả lời của mình nhưng tôi tự hỏi liệu khởi động lại máy chủ có khắc phục được sự cố không? Ngoài ra, nếu bản cập nhật được áp dụng trong khi Apache không chạy thì có thể nó đã không gây ra sự cố.
MonkeyZeus

Vâng, như tôi đã giải thích trong câu hỏi ban đầu, giải pháp duy nhất để bỏ chặn tình huống là khởi động lại toàn bộ máy chủ ... đó là một cách giải quyết bẩn thỉu!
SiZiOUS

Xin lỗi, tôi đã bỏ lỡ chi tiết đó, nó đã bị chôn vùi một chút. Sau khi khởi động lại, quá trình vẫn không thể giết được? Tôi chỉ hỏi vì tôi đang chạy Windows 7 x64 với Apache trên máy cục bộ của mình nhưng chưa nhận được KB4338818 nên tôi muốn biết những gì sẽ xảy ra.
MonkeyZeus

1
Không có vấn đề, bạn không phải biện minh cho nhận xét của bạn. :) Sau khi khởi động lại, nếu bạn giải quyết Apache để tự động khởi động, nó sẽ hoạt động. Nhưng khi bạn cố gắng dừng dịch vụ (thủ công hoặc bằng cách sử dụng tập lệnh), httpdquy trình sẽ đóng băng và sẽ không thể bị hủy.
SiZiOUS



1

KB4338831 dường như khắc phục sự cố cho Windows Server 2012 R2.

Bản cập nhật không bảo mật này bao gồm các cải tiến và sửa lỗi là một phần KB4338815 (phát hành ngày 10 tháng 7 năm 2018) và cũng bao gồm các cải tiến chất lượng mới này như một bản xem trước của bản cập nhật Rollup hàng tháng tiếp theo. Nguồn: 18 tháng 7 năm 2018, KB4338831 (Bản xem trước của Rollup hàng tháng)

Nó có sẵn như là một bản cập nhật được đề xuất trên Windows Update.


0

Tôi nghĩ bạn chắc chắn đang đi đúng hướng. Tôi đã gặp vấn đề tương tự với Tomcat trên Windows Server. Tuy nhiên, tôi đã có một máy chủ khác với Tomcat không gặp sự cố và sự khác biệt lớn duy nhất tôi có thể tìm thấy là máy chủ hoạt động cũng đã cài đặt IIS và chạy trên các cổng khác. Khi giải quyết vấn đề, tôi đã thử tải IIS trên máy chủ có vấn đề khi thiết lập trang web mặc định để nó sử dụng các cổng không chuẩn và sự cố dường như đã biến mất mà không phải gỡ cài đặt bản cập nhật.


1
OK ... tôi lấy lại ... thủ thuật IIS dường như chỉ hoạt động đôi khi. Cổng 80 dường như được sửa với tải IIS, nhưng 443 chỉ hoạt động một số thời gian. Ngoài ra, đối với tôi, bản cập nhật vi phạm dường như là KB4338815. Ít nhất là đối với máy chủ sản xuất của tôi, đây là thứ duy nhất chạy trên nó, vì vậy tôi có thể khởi động lại gần như dễ dàng như khởi động lại Tomcat.
Don Prezioso
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.