与泊坞窗预渲染phantomjs

我试图在端口3000上的泊坞窗本地运行Prerender / phantom.js,但不知何故,当我去我的网站的url时,我得到一个空白页与Status Code:200

https://github.com/prerender/prerender

Dockerfile

 #FROM node:latest FROM node:onbuild RUN echo deb http://ftp.debian.org/debian/ jessie main contrib non-free > /etc/apt/source.list RUN apt-get update -y && apt-get install -y python2.7 python-pip libfreetype6 libfontconfig git net-tools htop RUN mkdir -p /data RUN cd /data && git clone https://github.com/prerender/prerender.git RUN cd /data/prerender && npm install RUN rm -f /data/prerender/server.js ADD ./server.js /data/prerender/server.js CMD ["node", "/data/prerender/server.js"] EXPOSE 3000 

server.js

 #!/usr/bin/env node var prerender = require('./lib'); var server = prerender({ //workers: process.env.PRERENDER_NUM_WORKERS, workers: 1, iterations: 40, //iterations: process.env.PRERENDER_NUM_ITERATIONS, resourceDownloadTimeout: 30000, waitAfterLastRequest: 30000, jsTimeout: 30000, jsCheckTimeout: 30000, evaluateJavascriptCheckTimeout: 30000, logRequests: true }); 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()); // Html cache if ( process.env.AWS_ACCESS_KEY_ID && process.env.AWS_SECRET_ACCESS_KEY && process.env.S3_BUCKET_NAME ) { server.use(prerender.s3HtmlCache()); } else { server.use(prerender.inMemoryHtmlCache()); } server.start(); 

docker命令:

 docker run -p 3000:3000 -t --rm --name prerender -e AWS_ACCESS_KEY_ID="aaa" -e AWS_SECRET_ACCESS_KEY="aaa" -e S3_BUCKET_NAME="aaa" -e AWS_REGION="us-east-1" -e PRERENDER_SERVICE_URL="http://localhost:3000/" example/prerender:v2 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 73b81bf8fc04 example/prerender:v2 "node /data/preren..." 29 minutes ago Up 29 minutes 0.0.0.0:3000->3000/tcp prerender 

Nginx conf(nginx安装在没有docker的localhost上):

 if ($args ~ "_escaped_fragment_") { set $prerender 1; } if ($http_user_agent ~ "Prerender") { set $prerender 0; } if ($http_user_agent ~ "Chrome|chrome") { set $prerender 1; } location / { if ($prerender = 1) { #try_files $uri $uri/ /index.php?$args; rewrite .* /$scheme://$host$request_uri? break; proxy_pass http://localhost:3000; } try_files $uri $uri/ /index.php?$args; } 

当我运行预渲染本地主机没有docker一切正常。

任何想法为什么以及如何debugging这个问题?