Tôi đã phải vật lộn để chạy trang web của mình với https và ssl chuyển hướng HTTP.
Apache 2.4.41
Ubuntu 20.04 LTS
Dữ liệu hiện tại:
iptables -> https://www.toptal.com/developers/hastebin/acufujubuz.sql
Nó hơi dài nên tôi quyết định dán nó vào một url
UFW ->
Trạng thái: Đang hoạt động
Đến hành động từ
-- ------ ----
Apache đầy đủ CHO PHÉP mọi nơi
OpenSSH CHO PHÉP mọi nơi
Apache đầy đủ (v6) CHO PHÉP mọi nơi (v6)
OpenSSH (v6) CHO PHÉP mọi nơi (v6)
VS ->
<VirtualHost *:80>
ServerName <mydomain>
ServerAlias www.<mydomain>
Redirect permanent / https://<mydomain>/
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.<mydomain> [OR]
RewriteCond %{SERVER_NAME} =<mydomain>
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
ServerAdmin <mydomain>
ServerName <mydomain>
ServerAlias <mydomain>
DocumentRoot /var/www/<mydomain>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Protocols h2 http/1.1
<If "%{HTTP_HOST} == '<mydomain>'">
Redirect permanent / https://<mydomain>/
</If>
</VirtualHost>
Trạng thái Apache ->
apache2.service - Máy chủ HTTP Apache
Đã tải: đã tải (/lib/systemd/system/apache2.service; đã bật; giá trị đặt sẵn của nhà cung cấp: đã bật)
Đang hoạt động: không hoạt động (đã chết) kể từ Chủ Nhật 2021-12-26 13:45:17 CET; 12 phút trước
Tài liệu: https://httpd.apache.org/docs/2.4/
Quy trình: 12093 ExecStart=/usr/sbin/apachectl start (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
Quá trình: 12177 ExecStop=/usr/sbin/apachectl dừng (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
PID chính: 12097 (mã=đã thoát, trạng thái=0/THÀNH CÔNG)
ngày 26 tháng 12 13:45:14 <>.stratoserver.net systemd[1]: Khởi động Máy chủ HTTP Apache...
ngày 26 tháng 12 13:45:14 <>.stratoserver.net systemd[1]: Bắt đầu Máy chủ HTTP Apache.
ngày 26 tháng 12 13:45:17 <>.stratoserver.net apachectl[12179]: httpd (pid 12097?) không chạy
ngày 26 tháng 12 13:45:17 <>.stratoserver.net systemd[1]: apache2.service: Đã thành công.
Tuy nhiên, nó đã hoạt động được một lúc, nó chỉ hiển thị trang mặc định mặc dù nó đã bị tắt. Và bây giờ nó chỉ từ chối chạy. Một số trợ giúp sẽ rất tuyệt, mọi thông tin bổ sung cần thiết hãy cho tôi biết.
Nhật ký lỗi ->
[Chủ nhật ngày 26 tháng 12 13:45:14.394312 năm 2021] [core:warn] [pid 12097:tid 140257795902528] AH00098: tệp pid /var/run/apache2/apache2.pid bị ghi đè -- Tắt không sạch lần chạy Apache trước đó?
[CN 26 tháng 12 13:45:14.395297 2021] [mpm_event:notice] [pid 12097:tid 140257795902528] AH00489: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1f đã định cấu hình -- tiếp tục hoạt động bình thường
[Chủ nhật ngày 26 tháng 12 13:45:14.395309 năm 2021] [core:notice] [pid 12097:tid 140257795902528] AH00094: Dòng lệnh: '/usr/sbin/apache2'
[Chủ nhật ngày 26 tháng 12 13:45:14.397770 năm 2021] [mpm_event:alert] [pid 12098:tid 140257795902528] (11)Tài nguyên tạm thời không khả dụng: AH00480: apr_thread_create: không thể tạo chuỗi worker
[CN 26 tháng 12 13:45:14.402620 2021] [mpm_event:alert] [pid 12099:tid 140257477809920] (11)Tài nguyên tạm thời không khả dụng: AH03104: apr_thread_create: không thể tạo chuỗi worker
[Chủ nhật ngày 26 tháng 12 13:45:16.396433 năm 2021] [mpm_event:alert] [pid 12097:tid 140257795902528] AH02324: Đã xảy ra tình trạng thiếu tài nguyên hoặc lỗi không thể khôi phục khác trước khi khởi tạo thành công bất kỳ quy trình con nào... httpd đang thoát!
Chạy đầu ra cấu hình -> Cú pháp OK
Không thể tìm thấy httpd.conf cụ thể, tuy nhiên đã tìm thấy một http2.conf bao gồm:
# mod_http2 không hoạt động với mpm_prefork
<IfModule !mpm_prefork>
Giao thức h2 h2c http/1.1
# # Cấu hình đẩy HTTP/2
#
# H2Đẩy vào
#
# # Quy tắc ưu tiên mặc định
#
# H2PushPriority * Sau 16
#
# # Bộ quy tắc phức tạp hơn:
#
# H2PushPriority * sau
# H2PushPriority văn bản/css trước
# Hình ảnh/jpeg H2PushPriority sau 32
# Hình ảnh/png H2PushPriority sau 32
# Ứng dụng H2PushPriority/javascript xen kẽ
#
# # Định cấu hình một số biểu định kiểu và tập lệnh sẽ được đẩy bởi máy chủ web
#
# <FilesMatch "\.html$">
# Tiêu đề thêm liên kết "</style.css>; rel=preload; as=style"
# Tiêu đề thêm liên kết "</script.js>; rel=preload; as=script"
# </FileMatch>
# Vì mod_http2 không hỗ trợ mô-đun mod_logio (cung cấp định dạng %O),
# bạn có thể muốn thay đổi chỉ thị LogFormat của mình như sau:
#
# LogFormat "%v:%p %h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
# LogFormat "%h %l %u %t \"%r\" %>s %B \"%{Referer}i\" \"%{User-Agent}i\"" kết hợp
# LogFormat "%h %l %u %t \"%r\" %>s %B" chung
</IfModule>
Và tìm thấy phần này trong apache2.conf
# Đặt mô hình bảo mật mặc định của máy chủ HTTPD Apache2. nó làm
# không cho phép truy cập vào hệ thống tập tin gốc bên ngoài /usr/share và /var/www.
# Cái trước được sử dụng bởi các ứng dụng web được đóng gói trong Debian,
# cái sau có thể được sử dụng cho các thư mục cục bộ do máy chủ web phục vụ. Nếu
# hệ thống của bạn đang phục vụ nội dung từ thư mục con trong /srv bạn phải cho phép
# truy cập tại đây hoặc trong bất kỳ máy chủ ảo nào có liên quan.
<Thư mục />
Tùy chọn FollowSymLinks
AllowOverride Không có
Yêu cầu tất cả bị từ chối
</Thư mục>
<Thư mục /usr/share>
AllowOverride Không có
Yêu cầu tất cả cấp
</Thư mục>
<Thư mục /var/www/>
Tùy chọn Chỉ mục FollowSymLinks
AllowOverride Không có
Yêu cầu tất cả cấp
</Thư mục>
#<Thư mục /srv/>
# Tùy chọn Chỉ mục FollowSymLinks
# AllowOverride Không có
# Yêu cầu tất cả được cấp
#</Thư mục>`
Ngoài ra bộ nhớ;
$ miễn phí -m
tổng số buff/bộ đệm được chia sẻ miễn phí đã sử dụng hiện có
Mem: 4096 95 3701 3 298 3997
Hoán đổi: 0 0 0