Khắc phục lỗi yêu cầu với cURL
cURL là một công cụ dòng lệnh dùng để gửi các yêu cầu HTTP/HTTPS nhằm khắc phục các sự cố trên hệ thống:
HTTP/HTTPS Performance (Hiệu suất HTTP/HTTPS)
HTTP Error Responses (Lỗi phản hồi HTTP)
HTTP Headers (Tiêu đề HTTP)
APIs
Comparing Server/Proxy Responses (Phản hồi Server/Proxy)
SSL Certificates (Chứng chỉ SSL)
Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách khắc phục sự cố yêu cầu với cURL.
cURL không được cài đặt theo mặc định trong hệ điều hành Windows và cần sử dụng trình hướng dẫn cài đặt.
Chạy dòng lệnh sau để gửi yêu cầu HTTP GET tiêu chuẩn đến trang web của bạn (thay thế www.example.com bằng tên miền của bạn đi cùng www.):
Lệnh cURL này trả về kết quả chi tiết về phản hồi HTTP và HTTP tiêu đề yêu cầu nhưng không bao gồm nội dung trang. Đầu ra cURL xác nhận phản hồi HTTP và liệu ShopBase hiện có đang ủy quyền lưu lượng truy cập cho trang web hay không.
Xem lại tùy chọn lệnh cURL cho chức năng bổ sung.
Vui lòng tham khảo danh sách bên dưới để biết các mẹo khắc phục lỗi HTTP, hiệu suất, bộ nhớ đệm và chứng chỉ SSL/TLS:
Khi khắc phục lỗi HTTP trong phản hồi từ ShopBase, hãy kiểm tra xem nguồn web của bạn có gây ra lỗi hay không bằng cách gửi yêu cầu trực tiếp đến server gốc của bạn. Để khắc phục lỗi HTTP, chạy lệnh cURL trực tiếp đến địa chỉ IP server gốc của bạn (bỏ qua proxy của ShopBase):
Nếu bạn có nhiều server gốc, hãy kiểm tra từng server để đảm bảo không có sự khác biệt về phản hồi. Nếu bạn gặp sự cố khi kết nối trực tiếp với server gốc của mình, hãy liên hệ với nhà cung cấp host của bạn để được trợ giúp.
cURL đo độ trễ hoặc suy giảm hiệu suất cho các yêu cầu HTTP / HTTPS thông qua tùy chọn cURL -w hoặc -write-out cURL. Ví dụ cURL bên dưới đo lường một số vectơ hiệu suất trong giao dịch yêu cầu, chẳng hạn như thời gian TLS Handshake, DNS lookup, chuyển hướng (redirects), chuyển (transfers), v.v.:
Như đã mô tả trong ví dụ trước, kết quả được thu thập rõ ràng bằng cách biểu thị một dòng mới với ký tự \n trước mỗi biến. Nếu không, tất cả các chỉ số được hiển thị cùng nhau trên một dòng.
cURL giúp xem xét các tiêu đề phản hồi HTTP ảnh hưởng đến bộ nhớ đệm. Cụ thể hơn, hãy xem lại một số tiêu đề HTTP khi khắc phục sự cố bộ nhớ đệm trên ShopBase:
CF-Cache-Status
Cache-control/Pragma
Expires
Last-Modified
S-Maxage
Đánh giá chứng nhận với cURL: Lệnh cURL sau đây hiển thị chứng nhận SSL do ShopBase cung cấp trong một yêu cầu HTTPS (thay thế www.example.com bằng tên miền của bạn đi cùng www.):
2>&1 | egrep -v "^{.$|^}.$|^ http.*$" *xóa và phân tích TLS Handshake và thông tin chứng nhận.
Để hiển thị chứng nhận gốc (giả sử một chứng nhận đã được cài đặt), hãy thay thế 203.0.113.34 bên dưới bằng địa chỉ IP thực của server gốc của bạn và thay thế www.example.com bằng tên miền của bạn đi cùng www.:
Thử nghiệm các phiên bản TLS: Nếu hỗ trợ trình duyệt khắc phục sự cố hoặc xác nhận phiên bản TLS nào được hỗ trợ, cURL cho phép bạn kiểm tra phiên bản TLS cụ thể bằng cách thêm một trong các tùy chọn sau vào cURL của bạn:
--tlsv1.0
--tlsv1.1
--tlsv1.2
--tlsv1.3
Thu thập thông tin trang web để khắc phục sự cố
HTTP/HTTPS Performance (Hiệu suất HTTP/HTTPS)
HTTP Error Responses (Lỗi phản hồi HTTP)
HTTP Headers (Tiêu đề HTTP)
APIs
Comparing Server/Proxy Responses (Phản hồi Server/Proxy)
SSL Certificates (Chứng chỉ SSL)
Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách khắc phục sự cố yêu cầu với cURL.
Hướng dẫn
cURL không được cài đặt theo mặc định trong hệ điều hành Windows và cần sử dụng trình hướng dẫn cài đặt.
Chạy dòng lệnh sau để gửi yêu cầu HTTP GET tiêu chuẩn đến trang web của bạn (thay thế www.example.com bằng tên miền của bạn đi cùng www.):
curl -svo /dev/null http://www.example.com/
Lệnh cURL này trả về kết quả chi tiết về phản hồi HTTP và HTTP tiêu đề yêu cầu nhưng không bao gồm nội dung trang. Đầu ra cURL xác nhận phản hồi HTTP và liệu ShopBase hiện có đang ủy quyền lưu lượng truy cập cho trang web hay không.
Xem lại tùy chọn lệnh cURL cho chức năng bổ sung.
Vui lòng tham khảo danh sách bên dưới để biết các mẹo khắc phục lỗi HTTP, hiệu suất, bộ nhớ đệm và chứng chỉ SSL/TLS:
Lỗi HTTP
Khi khắc phục lỗi HTTP trong phản hồi từ ShopBase, hãy kiểm tra xem nguồn web của bạn có gây ra lỗi hay không bằng cách gửi yêu cầu trực tiếp đến server gốc của bạn. Để khắc phục lỗi HTTP, chạy lệnh cURL trực tiếp đến địa chỉ IP server gốc của bạn (bỏ qua proxy của ShopBase):
curl -svo /dev/null http://example.com --connect-to ::203.0.113.34
Nếu bạn có nhiều server gốc, hãy kiểm tra từng server để đảm bảo không có sự khác biệt về phản hồi. Nếu bạn gặp sự cố khi kết nối trực tiếp với server gốc của mình, hãy liên hệ với nhà cung cấp host của bạn để được trợ giúp.
Hiệu suất
cURL đo độ trễ hoặc suy giảm hiệu suất cho các yêu cầu HTTP / HTTPS thông qua tùy chọn cURL -w hoặc -write-out cURL. Ví dụ cURL bên dưới đo lường một số vectơ hiệu suất trong giao dịch yêu cầu, chẳng hạn như thời gian TLS Handshake, DNS lookup, chuyển hướng (redirects), chuyển (transfers), v.v.:
curl -svo /dev/null https://example.com/ -w "\nContent Type: %{content_type} \
\nHTTP Code: %{http_code} \
\nHTTP Connect:%{http_connect} \
\nNumber Connects: %{num_connects} \
\nNumber Redirects: %{num_redirects} \
\nRedirect URL: %{redirect_url} \
\nSize Download: %{size_download} \
\nSize Upload: %{size_upload} \
\nSSL Verify: %{ssl_verify_result} \
\nTime Handshake: %{time_appconnect} \
\nTime Connect: %{time_connect} \
\nName Lookup Time: %{time_namelookup} \
\nTime Pretransfer: %{time_pretransfer} \
\nTime Redirect: %{time_redirect} \
\nTime Start Transfer: %{time_starttransfer} \
\nTime Total: %{time_total} \
\nEffective URL: %{url_effective}\n" 2>&1
Như đã mô tả trong ví dụ trước, kết quả được thu thập rõ ràng bằng cách biểu thị một dòng mới với ký tự \n trước mỗi biến. Nếu không, tất cả các chỉ số được hiển thị cùng nhau trên một dòng.
Bộ nhớ đệm
cURL giúp xem xét các tiêu đề phản hồi HTTP ảnh hưởng đến bộ nhớ đệm. Cụ thể hơn, hãy xem lại một số tiêu đề HTTP khi khắc phục sự cố bộ nhớ đệm trên ShopBase:
CF-Cache-Status
Cache-control/Pragma
Expires
Last-Modified
S-Maxage
Chứng nhận SSL/TLS:
Đánh giá chứng nhận với cURL: Lệnh cURL sau đây hiển thị chứng nhận SSL do ShopBase cung cấp trong một yêu cầu HTTPS (thay thế www.example.com bằng tên miền của bạn đi cùng www.):
curl -svo /dev/null https://www.example.com/ 2>&1 | egrep -v "^{.*$|^}.*$|^* http.*$"
2>&1 | egrep -v "^{.$|^}.$|^ http.*$" *xóa và phân tích TLS Handshake và thông tin chứng nhận.
Để hiển thị chứng nhận gốc (giả sử một chứng nhận đã được cài đặt), hãy thay thế 203.0.113.34 bên dưới bằng địa chỉ IP thực của server gốc của bạn và thay thế www.example.com bằng tên miền của bạn đi cùng www.:
curl -svo /dev/null https://www.example.com --connect-to ::203.0.113.34 2>&1 | egrep -v "^{.*$|^}.*$|^* http.*$"
Thử nghiệm các phiên bản TLS: Nếu hỗ trợ trình duyệt khắc phục sự cố hoặc xác nhận phiên bản TLS nào được hỗ trợ, cURL cho phép bạn kiểm tra phiên bản TLS cụ thể bằng cách thêm một trong các tùy chọn sau vào cURL của bạn:
--tlsv1.0
--tlsv1.1
--tlsv1.2
--tlsv1.3
Bài viết liên quan
Thu thập thông tin trang web để khắc phục sự cố
Cập nhật vào: 31/08/2022
Cảm ơn!