<?php
// Copyright 1999-2022. Plesk International GmbH. All rights reserved.
$messages = [
    'problem-detail.nginx-upstream-sent-too-big-header.name' => 'Nginx "Lỗi cổng vào 502: ngược dòng gửi tiêu đề quá lớn khi đọc tiêu đề phản hồi"',
    'problem-detail.nginx-upstream-sent-too-big-header.description' => '',
    'problem-detail.nginx-upstream-sent-too-big-header.cause' => '',
    'problem-detail.nginx-upstream-sent-too-big-header.solution1' => '',
    'problem-detail.apache-followsymlinks-not-allowed.name' => 'Apache"Lỗi nội bộ máy chủ 500: Tùy chọn FollowSymLinks không được cho phép ở đây"',
    'problem-detail.apache-followsymlinks-not-allowed.description' => '',
    'problem-detail.apache-followsymlinks-not-allowed.cause' => '',
    'problem-detail.phpfpm-server-reached-max-children.name' => 'PHP-FPM "máy chủ đã đạt cài đặt max_children"',
    'problem-detail.phpfpm-server-reached-max-children.description' => '<h4>Biểu hiện</h4><ul><li><p>Trang web có trình xử lý PHP được đặt làm <strong>ứng dụng FPM do Apache cung cấp</strong> hoặc <strong>ứng dụng FPM do nginx cung cấp</strong> tại <strong>Miền</strong> &gt; <strong>example.com</strong> &gt; <strong>Cài đặt PHP</strong> gặp phải một trong các vấn đề sau:</p><ul><li><p>tải chậm</p></li><li><p>không thể truy cập (vĩnh viễn hoặc định kỳ) với lỗi 50x trong trình duyệt web:</p><pre>Lỗi cổng vào 502</pre><hr><pre>Dịch vụ tạm thời không khả dụng 503</pre><hr><pre>Hết thời gian chờ cổng 504</pre></li> </ul></li><li><p>Thông báo sau xuất hiện trong tập tin nhật ký lỗi PHP-FPM <code>/var/log/plesk-php<strong>XX</strong>-fpm/error.log</code> (trong đó <em>XX</em> là phiên bản PHP được các trang web sử dụng): </p><pre>CẢNH BÁO: Máy chủ [pool example.com] đã đạt cài đặt max_children (*), hãy cân nhắc tăng thêm</pre><ul><li> <p>Thông báo ở trên thường kèm theo lỗi này:</p><pre> không thể đọc nội dung tiến trình con: Trình mô tả tập tin không hợp lệ(9)</pre></li></ul></li><li><p>Nếu nginx được bật trên máy chủ, một trong các thông báo lỗi sau có thể xuất hiện trong tập tin nhật ký lỗi của miền<code>/var/www/vhosts/system/example.com/logs/proxy_error_log</code>:</p><pre style="white-space: pre-wrap;">[error] 11456#0: *118348 connect() với unix: ///var/www/vhosts/system/example.com/php-fpm.sock không thành công (11: Tài nguyên tạm thời không có) trong khi kết nối với ngược dòng, máy khách: 203.0.113.2, máy chủ: example.com, yêu cầu: "GET / HTTP /1.1", ngược dòng: "fastcgi://unix:///var/www/vhosts/system/example.com/php-fpm.sock:", máy chủ lưu trữ: "example.com"</pre><hr><pre style="white-space: pre-wrap;">[error] 20058#0: *4725139 kết nối ngược dòng bị đóng sớm trong khi đọc tiêu đề phản hồi từ ngược dòng, máy khách: 203.0.113.2, máy chủ: example.com, yêu cầu: "POST /path/to/some/file HTTP/2.0", ngược dòng:</pre></li></ul>',
    'problem-detail.phpfpm-server-reached-max-children.cause' => ' <p>Trang web đã đạt giới hạn PHP-FPM <code>pm.max_children</code>.</p>',
    'problem-detail.phpfpm-server-reached-max-children.solution1' => '<p>Tăng giới hạn <code>pm.max_children</code> cho những miền bị ảnh hưởng:</p><ol><li><p>Kết nối với máy chủ Plesk qua <a href="https://support.plesk.com/hc/en-us/articles/115000172834" target="_blank" rel="noopener">SSH</a>.</p></li><li><p>Tìm những miền bị ảnh hưởng bằng lệnh dưới:</p><div class="pul-alert pul-alert--info pul-status-message pul-status-message--info"><span class="pul-icon pul-status-message__icon"><svg focusable="false"><use href="/ui-library/images/symbols.svg?6bd5879cb9a032639fb375ff6f1dcd26#info-circle-filled:16"></use></svg></span><strong>Lưu ý:</strong> Số bên trái biểu thị số lần trang web đã đạt giới hạn <code>pm.max_children</code>.</div><pre style="white-space: pre-wrap;"># grep -r "máy chủ đã đạt cài đặt max_children" /var/log/*php*-fpm/error.log | cut -d\' \' -f5 | tr -d \']\' | sort | uniq -c | sort -nr<br><br>100 example.com<br>50 example.net<br>25 example.org<br>&lt;...&gt;</pre></li><li><p><a href="https://support.plesk.com/hc/en-us/articles/213413369" target="_blank" rel="noopener">Đăng nhập vào Plesk</a>.</p></li><li><p>Đi đến<strong>Miền</strong> &gt; <strong>example.com</strong> &gt; <strong>Cài đặt PHP</strong> &gt; <strong>Cài đặt PHP-FPM</strong>.</p></li><li><p>Tăng giá trị <code>pm.max_children</code> cho miền và áp dụng thay đổi. Tăng giá trị này cho tất cả các miền được liệt kê trong bước 2.</p></li></ol>',
    'problem-detail.nginx-too-many-open-files.name' => 'Nginx "Quá nhiều tập tin đang mở"',
    'problem-detail.nginx-too-many-open-files.description' => '<p>nginx không thể khởi động/tải lại trên máy chủ Plesk: Quá nhiều tập tin đang mở</p><h4>Biểu hiện</h4><ul><li><p>Dịch vụ nginx không thể khởi động/tải lại với những lỗi sau lỗi trong tập tin <code>/var/log/nginx/error.log</code>:</p><pre style="white-space: pre-wrap;">nginx: [emerg] open() "/var/www/vhosts/system/example.com/logs/proxy_access_ssl_log" không thành công (24: Quá nhiều tập tin đang mở)</pre></li><li><p>Một số hoặc tất cả các trang web không thể truy cập</p></li><li><p>Cảnh báo được hiển thị trong <strong>Công cụ &amp; Cài đặt &gt; Chẩn đoán &amp; sửa chữa</strong>:</p><pre style="white-space: pre-wrap;">Tìm thấy kiểm tra miền N giá trị ULIMIT nginx trên máy chủ. Có thể xảy ra sự vấn đề với giới hạn mặc định nginx cho các tập tin đang mở</pre></li><li><p>Ứng dụng web NodeJS và Ruby hiển thị Lỗi cổng vào 502 khi thực hiện một số tác vụ Plesk như tạo miền, đăng ký, thay đổi trên Apache hoặc Nginx, v.v.:</p><pre style="white-space: pre-wrap;">Lỗi máy chủ<br>Lỗi cổng vào 502 <br>Máy chủ web nhận được phản hồi không hợp lệ khi làm cổng hoặc máy chủ proxy.</pre></li><li><p>Sau khi <a href="https://support.plesk.com/hc/en-us/articles/213946825-How-to-install-SSL-certificate-for-a-domain-in-Plesk" target="_blank" rel="noopener noreferrer">cài đặt chứng chỉ mới cho miền</a>, chứng chỉ cũ vẫn hiển thị trong trình duyệt web, tuy nhiên, chứng chỉ chính xác được chọn trong trang <strong>Miền &gt; example.com &gt; Cài đặt lưu trữ</strong>.</p></li></ul>',
    'problem-detail.nginx-too-many-open-files.cause' => '<p>Máy chủ ảo của Nginx mở 4 tập tin nhật ký cho mỗi máy chủ ảo bằng máy chủ vật lý:</p><ul><li>proxy_access_log</li><li> proxy_access_ssl_log</li><li>webmail_access_log</li>< li>webmail_access_ssl_log</li></ul><p>Do đó, máy chủ nginx đã vượt quá số lượng tập tin đang mở tối đa do số lượng miền lớn (thường là hơn 100).</p>',
    'problem-detail.nginx-too-many-open-files.solution1' => '<div class="pul-alert pul-alert--warning pul-status-message pul-status-message--warning"><span class="pul-icon pul-status-message__icon"><svg focusable="false"><use href="/ui-library/images/symbols.svg?6bd5879cb9a032639fb375ff6f1dcd26#info-circle-filled:16"></use></svg></span><strong>Cảnh báo:</strong> Quá trình thực thi tiện ích <code>websrv_ulimits</code> mà không có tùy chọn <strong>--no-restart</strong> sẽ bắt đầu xây dựng lại tập tin cấu hình web cho tất cả các miền và có thể gây ra thời gian ngừng hoạt động đáng kể trong trường hợp có nhiều trang web được lưu trữ.<br><br>Thực thi lệnh trong khung thời gian bảo trì.</div><p>Bạn nên đặt giá trị giới hạn tập tin đang mở ở mức tối thiểu là nhiều hơn <strong>số lượng miền trong Plesk * 16</strong>. Ví dụ bên dưới cung cấp hướng dẫn đặt giới hạn thành 4096:</p><ol><li><p>Kết nối với máy chủ qua <a href="https://support.plesk.com/hc/en-us/articles/115000172834" target="_blank" rel="noopener noreferrer">SSH</a></p></li><li><p>Đặt giới hạn tập tin đang mở thành 4096 cho cả Apache và Nginx:</p><pre># /usr/local/psa/admin/sbin/websrv_ulimits --set 4096 --no-restart</pre></li><li><p>Khởi động lại dịch vụ Apache và nginx tại <strong><a href="https://support.plesk.com/hc/en-us/articles/213413369" target="_blank" rel="noopener noreferrer">Plesk</a> &gt;</strong> <strong>Công cụ &amp; Cài đặt &gt; Quản lý dịch vụ</strong> để áp dụng thay đổi.</p></li><li><p>Kiểm tra xem "Giới hạn tập tin đang mở tối đa" đã được áp dụng đúng chưa, sau khi dịch vụ web khởi động lại:</p><pre># grep \'Max open files\' /proc/$(cat /var/run/nginx.pid)/limits<br>Tập tin đang mở tối đa 4096 tập tin 4096</pre></li><li><p>Nếu giải pháp trên không có tác dụng, hãy đặt giới hạn bằng tiện ích <code>ulimit</code>:</p><pre># ulimit -n 4096</pre></li></ol>',
    'problem-detail.apache-modsec-response-body-too-large.name' => 'ModSecurity "Nội dung phản hồi quá lớn"',
    'problem-detail.apache-modsec-response-body-too-large.description' => '',
    'problem-detail.apache-modsec-response-body-too-large.cause' => '',
    'problem-detail.modsec-access-denied.name' => 'ModSecurity "Từ chối truy cập với mã 403"',
    'problem-detail.modsec-access-denied.description' => '',
    'problem-detail.modsec-access-denied.cause' => '',
    'problem-detail.php-allowed-memory-size-exhausted.name' => 'PHP "Lỗi nội bộ máy chủ 500: Kích thước bộ nhớ cho phép là XXX đã cạn kiệt"',
    'problem-detail.php-allowed-memory-size-exhausted.description' => '',
    'problem-detail.php-allowed-memory-size-exhausted.cause' => '',
    'problem-detail.php-open-basedir-restriction-in-effect.name' => 'PHP "hạn chế open_basedir có hiệu lực"',
    'problem-detail.php-open-basedir-restriction-in-effect.description' => '',
    'problem-detail.php-open-basedir-restriction-in-effect.cause' => '',
    'problem-detail.apache-client-denied-by-server.name' => 'Apache .htaccess "Lỗi cấm 403 AH01797: máy khách bị cấu hình máy chủ từ chối"',
    'problem-detail.apache-client-denied-by-server.description' => '',
    'problem-detail.apache-client-denied-by-server.cause' => '',
    'problem-detail.apache-no-directory-index.name' => 'Apache "Không thể truy cập danh mục trang web trong Plesk: Lỗi cấm 403"',
    'problem-detail.apache-no-directory-index.description' => '',
    'problem-detail.apache-no-directory-index.cause' => '',
    'problem-detail.nginx-no-directory-index.name' => 'Nginx "Không thể truy cập danh mục trang web trong Plesk: Lỗi cấm 403"',
    'problem-detail.nginx-no-directory-index.description' => '',
    'problem-detail.nginx-no-directory-index.cause' => '',
    'problem-detail.apache-reached-max-request-workers.name' => 'Apache "máy chủ đã đạt cài đặt MaxRequestWorkers"',
    'problem-detail.apache-reached-max-request-workers.description' => '',
    'problem-detail.apache-reached-max-request-workers.cause' => '',
    'problem-detail.php-post-content-length-exceeds-limit.name' => 'Giới hạn nội dung yêu cầu PHP "máy khách định gửi nội dung quá lớn"',
    'problem-detail.php-post-content-length-exceeds-limit.description' => '',
    'problem-detail.php-post-content-length-exceeds-limit.cause' => '',
    'problem-detail.nginx-client-sent-too-large-body.name' => 'Giới hạn nội dung yêu cầu PHP "máy khách định gửi nội dung quá lớn"',
    'problem-detail.nginx-client-sent-too-large-body.description' => '',
    'problem-detail.nginx-client-sent-too-large-body.cause' => '',
    'problem-detail.php-failed-to-read-session-data.name' => 'Phiên PHP "Lỗi nội bộ máy chủ 503" hoặc "Không thể đọc dữ liệu phiên"',
    'problem-detail.php-failed-to-read-session-data.description' => '',
    'problem-detail.php-failed-to-read-session-data.cause' => '',
    'problem-detail.apache-unable-to-check-htaccess-file.name' => 'Apache .htaccess "Lỗi cấm 403: pcfg_openfile: không thể kiểm tra tập tin htaccess , đảm bảo tập tin có thể đọc"',
    'problem-detail.apache-unable-to-check-htaccess-file.description' => '',
    'problem-detail.apache-unable-to-check-htaccess-file.cause' => '',
];