Nginx 流星-什么是“流星”的目的;根目录“URL”;它应该被定义为什么?
我在Ubuntu服务器上使用PhantomJS使spiderable工作时遇到了一些问题。我在以下网站上看到此故障排除: 确保Meteor服务器配置为使用的根URL 可以从服务器本身访问。(自v0.8.1.3[1]起) 我认为这可能是它为什么不起作用的一个可能答案。这个环境变量的确切用途是什么 我的应用程序可在Nginx 流星-什么是“流星”的目的;根目录“URL”;它应该被定义为什么?,nginx,meteor,Nginx,Meteor,我在Ubuntu服务器上使用PhantomJS使spiderable工作时遇到了一些问题。我在以下网站上看到此故障排除: 确保Meteor服务器配置为使用的根URL 可以从服务器本身访问。(自v0.8.1.3[1]起) 我认为这可能是它为什么不起作用的一个可能答案。这个环境变量的确切用途是什么 我的应用程序可在http://gentlenode.com/但是nginx上的myproxy\u pass设置为http://gentlenode/ # HTTPS Server server {
http://gentlenode.com/
但是nginx上的myproxy\u pass
设置为http://gentlenode/
# HTTPS Server
server {
listen 443;
server_name gentlenode.com;
# ...
location / {
proxy_pass http://gentlenode/;
proxy_http_version 1.1;
# ...
}
}
我应该将ROOT\u URL
设置为http://gentlenode.com/
,至http://gentlenode/
或至http://localhost/
您可以在这里找到我的nginx配置:我承认我们没有使用spiderable,所以我不能100%确定这是否能解决您的问题,但我们现在要做的是 我们将ROOT_URL设置为客户端最初用于连接的URL。在您的情况下,nginx配置会自动将所有HTTP请求升级为HTTPS,因此您的应用程序将在
https://gentlenode.com
。我认为您应该在以下时间后启动服务器:
export ROOT_URL=https://gentlenode.com
您的proxy\u pass
部分可能是正确的。我们手动拼出本地端口的名称。所以我们要写:
proxy_pass http://localhost:58080;
如果你已经有了一些有效的东西,这可能不是必要的。我不太了解nginx的所有特性,因此无法判断这一部分是否重要。应将
ROOT\u URL
环境变量设置为客户端访问应用程序的URL。因此,在您的情况下,它将是http://gentlenode.com
或https://gentlenode.com
ROOT\u URL
环境变量由读取,在许多(核心)包中使用。因此,如果您使用这些软件包,设置根URL
可能是一项要求。就是这样一个包裹
//spiderable_server.js的第62行
var url=Spiderable.\u urlForPhantom(Meteor.absoluteUrl(),req.url);
meteor实例与nginx在同一台服务器上吗?换句话说,您是否代理本地主机?是的,meteor实例正在同一台服务器上运行。我想我是在代理本地主机,这里是我的nginx文件: