Access denied or empty body

Đang mở
#209 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
javascript, node.js, redis
Lĩnh vực
backend

Hướng nghiên cứu

Start by reproducing the 403 or empty-body response with the shown prerender-node middleware, comparing requests with and without the Googlebot user agent. Inspect the beforeRender and afterRender hooks, Redis cache behavior, and the /render?url=https://www.google.com/ path. Done means identifying the failure and restoring a non-empty response with useful error logging.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Issue: HTTP ERROR 403 - Access denied.
Issue appears during last 3 days, before everything was working fine.

Setup:

  • Server is Linux Ubuntu
  • Local prerender under Node, which is working fine, can access page: /render?url=https://www.google.com/
  • "prerender-node" setup with Redias cache.
  • Assessing website by browsing with googlebot in User agent string.

Deep dive into testing:

  • Website is accessible without googlebot in User agent string.
  • In afterRender event getting empty body for any request url
  • In afterRender error object is null
  • Redis cache is working, even when removing cache mechanism fully, issue persist
  • Files permission is correct and was not changed.
  • When removing app.use(prerender); website again accessible with googlebot in User agent string.
  • Version of packages including "prerender-node" was not released, so nothing to update
  • Version of "google-chrome-stable" checked and updated to latest one - 92.0.4515
  • Reason of this all points is not applicable: [https://docs.prerender.io/article/25-empty-or-partially-rendered-pages](Empty or partially rendered pages) as it is working with url /render?url=https://www.google.com/
  • pageDoneCheckInterval increased up to 20sec to make sure it is not a reason
  • Getting empty body immediately, some some error is happening there, but no any error log, as I have pageDoneCheckInterval: 5000, I should get response in 5 sec, which is not happening.

Ideas what can be a reason:

  • Something got broken in process of Prerender in some dependencies.
  • There is some limit of requested pages per month, but as I use Prerender locally, as I understood it is not limited somehow.
  • Some another crazy reason))

Code prerender section for any case:

// Setup prerender
prerender = require('prerender-node');
prerender.set('protocol', 'https');
prerender.crawlerUserAgents.push('Validator.nu/LV');
prerender.crawlerUserAgents.push('W3C-checklink');
app.use(prerender);

// Setup redis cache
var redis = require("redis"),
	client = redis.createClient();

client.flushdb( function (err, succeeded) {
});

prerender.set('beforeRender', function(req, done) {
	client.get(req.url, done);
}).set('afterRender', function(err, req, prerender_res) {
  if ( prerender_res ) {
    client.set(req.url, prerender_res.body)
  }
});

Anyway this was working previously very long and very stable.

Any idea will appreciated, thanks in advance.

Ngôn ngữ chính
JavaScript
Star
921
Fork
185
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của prerender/prerender-node

Tất cả issue của prerender/prerender-node

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.