使用 Nginx 反向代理百度爬虫支持 Github Pages 收录
最近在学习 Nginx,想到既然 Nginx 可以做反向代理,为嘛不能直接代理百度爬虫,
去向 github pages 请求,然后将结果返回给百度爬虫,这样就能直接让百度收录 github pages 了。
百度爬取 github 给 403 的主要判断依据是 user agent,可以在 Nginx 中直接对 user agent 进行伪造。
试了一下,的确可以。
Nginx 具体配置如下:
server{
listen 80;
server_name 3gods.com; #替换成自己的域名
location / {
proxy_pass https://songxin1990.github.io; #替换成自己的 github pages 主页
proxy_redirect off;
proxy_set_header User-Agent "Mozilla/5.0";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
但是这种收录方式必须要有台 vps 并装上 Nginx,所以自己写了个小程序, 主要就是接受 form 表单提交的要绑定域名和 github pages 的访问地址,然后后台生成一个 nginx.conf, 再 service nginx reload 一下就可以了。 具体的可以看这篇文章: Github Pages 百度索引收录工具。
程序很粗糙,不过大概会有哪些问题,自己都有考虑到,先看看又没人用吧,没人用的东西就没价值,后续也就没有继续优化改造的必要了。
欢迎大家讨论,吐槽。