Điểm:1

NGINX - Gửi yêu cầu tới phụ trợ nếu yêu cầu đến từ trình thu thập thông tin/bot

lá cờ us

Tôi có Ứng dụng một trang không có kết xuất phía máy chủ. Vì vậy, bất cứ khi nào ai đó chia sẻ một URL từ trang web trên Facebook hoặc Twitter, nó sẽ không hiển thị tiêu đề động của trang.

Tôi muốn gửi các yêu cầu của trình thu thập thông tin/bot tới một chương trình phụ trợ đặc biệt phục vụ một trang có thẻ meta OpenGraph.

Giao diện người dùng được lưu trữ trên NGINX và tôi có cấu hình này cho đến nay:

người phục vụ {
    nghe 80;
    nghe [::]:80;

    địa điểm / {
    
        if ($http_user_agent ~* "linkedinbot|googlebot|yahoo|bingbot|baiduspider|yandex|yeti|yodaobot|gigabot|ia_archiver|facebookexternalhit|twitterbot|developers\.google\.com") {
            trả về 307 https://renderer_service_domain$request_uri;
    }

    gốc /usr/share/nginx/html;
    chỉ số index.html;
}

Điều này hoạt động, nhưng URL của Angular có # trước url tuyến đường, tôi cần xóa nó trước khi gửi yêu cầu đến phần phụ trợ đặc biệt.

Vì vậy, làm cách nào tôi có thể xóa hàm băm khỏi $request_uri ?

Tôi đã thử viết lại một vài ví dụ, nhưng nó sẽ gửi yêu cầu đến cùng một miền, tôi cần gửi yêu cầu đến một máy chủ/tên miền khác.

anx avatar
lá cờ fr
anx
Các công cụ tìm kiếm rõ ràng không khuyến khích thiết lập cách xử lý đặc biệt để đánh lừa các bot của họ - làm như vậy về cơ bản là nói dối về giao diện/hoạt động thực sự của trang của bạn, ngay cả khi trang đó chỉ giả vờ dễ truy cập hơn.
Michael Hampton avatar
lá cờ cz
Họ cũng rõ ràng không khuyến khích việc lạm dụng dấu thăng làm chỉ báo định tuyến, vì họ trở nên quá khó hoặc không thể lập chỉ mục nội dung của bạn và bạn cũng quá khó hoặc không thể giải quyết vấn đề này. Nó đã từng thịnh hành trong khoảng nửa thập kỷ trước nhưng nhanh chóng không còn được ưa chuộng. Bạn nên sửa ứng dụng của mình.
Điểm:2
lá cờ us

hàm băm # và nội dung sau nó không được gửi đến máy chủ HTTP, vì vậy chúng không phải là một phần của $request_uri Biến đổi.

Với cấu hình ví dụ của bạn, yêu cầu chính xác mà chương trình phụ trợ của bạn nhận được là gì?

Tôi không có kinh nghiệm với các ứng dụng trang đơn và Google, nhưng tôi không nghĩ gửi nội dung khác nhau tới bot trình thu thập dữ liệu hơn là gửi cho người dùng cuối là một cách tiếp cận tốt.

Đă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.