Điểm:0

Trả lại 444 thay vì 400

lá cờ mt

Nếu ai đó thực hiện yêu cầu http tới tài nguyên https trên máy chủ nginx của tôi, họ sẽ gặp lỗi 400. "Yêu cầu HTTP đơn giản đã được gửi tới cổng HTTPS" Thay vào đó, có cách nào để trả về 444 không?

Khi tôi tìm kiếm lỗi này, tôi chỉ có thể tìm thấy những người gặp sự cố về cấu hình mà họ đang cố gắng khắc phục. Nhưng trong trường hợp của tôi, cấu hình của tôi vẫn ổn - tôi đang cố gắng giảm thiểu tác động của các yêu cầu bất hợp pháp.

Chỉnh sửa: Tôi đang sử dụng tính năng này để ngăn truy cập IP trực tiếp vào máy chủ của mình. Nếu ai đó đưa ra yêu cầu http, họ sẽ nhận được phản hồi 400 thay vì 444. Tôi chỉ muốn không có phản hồi.

người phục vụ {
    nghe 443 ssl http2 default_server;
    lắng nghe [::]:443 ssl http2 default_server;
    ssl_certificate /etc/nginx/ssl/n.pem;
    ssl_certificate_key /etc/nginx/ssl/n2.pem;
    tên máy chủ _;
    trả lại 444;
}
lá cờ vn
Điều này có lẽ cần phải được giải quyết ở cấp ứng dụng.
Gerard H. Pille avatar
lá cờ in
Sẽ tốt hơn nếu không trả lời gì cả. Gửi http đến cổng https cần nỗ lực, khó có thể là một sai lầm.
lá cờ mt
Đó là những gì tôi đang cố gắng tìm ra cách để làm. Làm thế nào để tôi hoàn toàn không trả lời, thay vì trả về lỗi 400?
Michael Hampton avatar
lá cờ cz
nginx xử lý tình huống đó trong nội bộ. Nó không phải là thứ bạn có thể (hoặc nên) kiểm soát.
Điểm:0
lá cờ cn

Có thể có nginx phản hồi với 444 theo cách này:

error_page 497 =444 /444.html;

vị trí = /444.html {
        trả lại 444;
}
Michael Hampton avatar
lá cờ cz
Lỗi 497 đến từ đâu?
devitrified avatar
lá cờ cn
497 là mã lỗi cho Yêu cầu HTTP được gửi tới Cổng HTTPS (https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
Michael Hampton avatar
lá cờ cz
Hấp dẫn. Tôi chưa bao giờ thực sự thấy nginx gửi mã đó (và nó gửi 400 trên các hộp sản xuất của tôi). Cái này được thêm vào khi nào và/hoặc làm cách nào để bạn kích hoạt nó?
devitrified avatar
lá cờ cn
Nó không phải là tài liệu chính thức, vì vậy có rất ít thông tin
Michael Hampton avatar
lá cờ cz
Bạn đã thực sự thử nó để xem nếu nó hoạt động?
devitrified avatar
lá cờ cn
Tất nhiên, đó là lý do tại sao tôi đã đăng nó ở đây. Nếu bạn sử dụng một cổng không chuẩn cho https, cuối cùng bạn sẽ bị nhện baidu và những người khác tấn công. Họ nhận được 444 với giải pháp này
Michael Hampton avatar
lá cờ cz
OK, vậy làm thế nào để bạn thực sự làm cho nó hoạt động?
devitrified avatar
lá cờ cn
Chỉ cần sao chép/dán những dòng này bên trong khối máy chủ của bạn và khởi động lại nginx
Michael Hampton avatar
lá cờ cz
Trên phiên bản nào của nginx?
devitrified avatar
lá cờ cn
Tôi đang sử dụng nginx/1.15.8
Michael Hampton avatar
lá cờ cz
Điều đó thậm chí còn lạ hơn, bởi vì tôi mới thử nó trên 1.20.0 và nó trả về 400 chứ không phải 497. Có thể điều này đã bị xóa khỏi mã.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.