大佬教程收集整理的这篇文章主要介绍了node.js – 节点Prerender处理首页加载 – 后续加载500错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
可能很重要:我的应用程序在端口3000上的docker容器中运行,prerender服务器(在端口9000上)也运行,两者都在官方Nginx docker镜像后面运行.
也许意义重大:顶级域名的.htaccess重定向到www子域名,指向AWS弹性IP.我还不是很聪明,所以这是迄今为止我想出的最佳方式,指出正确的方向.
.htaccess重定向
RewriteENGIne on RewriteRule ^(.*)$http://www.jusTinR_402_11845@cmahon.com/$1 [R=301,L]
Nginx: build: . container_name: Nginx hostname: Nginx restart: always environment: - DEFAULT_HOST=www.jusTinR_402_11845@cmahon.com volumes: - /var/run/docker.sock:/tmp/docker.sock:ro ports: - 80:80 - 443:443 - 5984:5984
Prerender Dockerfile
FROM node:5.2.0 ENV NPM_CONfig_PRODUCTION=true ENV NODE_ENV=production COPY dist /app WORKDIR /app RUN npm install EXPOSE 9000 CMD ["node","server"]
我在Express配置的顶部有以下内容:
app.use(require('prerender-node').set('prerenderserviceUrl',config.PRERENDER_serviCE_URL));
prerender容器的Docker日志显示304状态,但Express正在抛出500
在/server.js中,我将PRERENDER_NUM_WORKERS和PRERENDER_NUM_ITERATIONS默认为1并取消注释inMemoryHtmlCache()
#!/usr/bin/env node var prerender = require('./lib'); var server = prerender({ workers: process.env.PRERENDER_NUM_WORKERS || 1,iterations: process.env.PRERENDER_NUM_ITERATIONS || 1 }); server.use(prerender.sendPrerenderHeader()); // server.use(prerender.basicAuth()); // server.use(prerender.whitelist()); server.use(prerender.blacklist()); // server.use(prerender.logger()); server.use(prerender.removeScriptTags()); server.use(prerender.httpHeaders()); server.use(prerender.inMemoryHtmlCache()); // server.use(prerender.s3HtmlCache()); server.start();
以上是大佬教程为你收集整理的node.js – 节点Prerender处理首页加载 – 后续加载500错误全部内容,希望文章能够帮你解决node.js – 节点Prerender处理首页加载 – 后续加载500错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。