dis*_*ame 6 server-side-rendering angular-universal
我打算将Angular Universal用于服务器端渲染(SSR),但这仅应用于来自选定搜索引擎的爬虫和漫游器。
我想要的是以下架构:
来源:https : //dingyuliang.me/use-prerender-improve-angularjs-seo/
按照官方指示设置SSR之后,我现在可以验证Googlebot(最终)是否“看到”了我的网站并且应该能够对其进行索引。
但是,目前所有请求都在服务器上呈现。有没有一种方法可以确定传入的请求是否来自搜索引擎,并仅为它们预渲染网站?
您可以使用 Nginx 来实现这一点。
在 Nginx 中,您可以通过以下方式将请求转发到通用服务角度应用程序:
if ($http_user_agent ~* "googlebot|yahoo|bingbot") {
proxy_pass 127.0.0.1:5000;
break;
}
root /var/www/html;
Run Code Online (Sandbox Code Playgroud)
..假设您正在服务 Angular Universal via 127.0.0.1:5000。
如果出现浏览器用户代理,我们通过以下方式提供页面root /var/www/html
所以完整的配置会是这样的..
server {
listen 80 default;
server_name angular.local;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
if ($http_user_agent ~* "googlebot|yahoo|bingbot") {
proxy_pass 127.0.0.1:5000;
break;
}
root /var/www/html;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |