Nginx 流星-什么是“流星”的目的;根目录“URL”;它应该被定义为什么?

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 {

我在Ubuntu服务器上使用PhantomJS使spiderable工作时遇到了一些问题。我在以下网站上看到此故障排除:

确保Meteor服务器配置为使用的根URL 可以从服务器本身访问。(自v0.8.1.3[1]起)

我认为这可能是它为什么不起作用的一个可能答案。这个环境变量的确切用途是什么

我的应用程序可在
http://gentlenode.com/
但是nginx上的my
proxy\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文件: