标签: paths

Nginx proxy_pass 和绝对路径

我正在尝试使用 Nginx 在服务器(Ubuntu 14.04)上运行一些 nodejs 应用程序,我快完成了。这是我的服务器配置 ( /etc/nginx/sites-available/default):

server {
    listen 80;
    server_name my_domain.com;

    location /test1 {
        proxy_pass http://127.0.0.1:5000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    location /test2 {
        proxy_pass http://127.0.0.1:5001/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有几个应用程序运行,它们都工作得很好,我可以与他们存取权限http://my_domain.com/test1http://my_domain.com/test2等等......

问题是,在其中一个应用程序中,我有几个绝对路径:
例如<a href="/">Home</a>
或(在快递内)
res.redirect('/');

此重定向不会转到,http://my_domain.com/test1但会转到http://my_domain.com/
有没有办法通过 nginx 配置告诉应用程序根位置实际上是http://my_domain.com/test1

我对 nginx 和一般的虚拟主机真的很陌生,我正在努力学习......任何帮助将不胜感激。
编辑:
结果curl …

nginx reverse-proxy paths node.js

6
推荐指数
1
解决办法
5639
查看次数

Apache - 包含相对于 ServerConfigFile 的 conf 文件(-f arg)

我想对-fApache 服务器使用命令行选项,以便我可以将conf文件存储在与服务器二进制文件不同的地方(数据目录)。

问题是我使用 Include 指令来分离和组织配置,但是当我使用类似的命令时Include "addons/SVN.conf",它失败了,因为 Apache 在相对于 ServerRoot 目录而不是 ServerConfigFile 目录中查找 addons/SVN.conf 。

我可以通过使用绝对路径来解决这个问题(例如Include "e:\foo\bar\baz\Apache\conf\addons\svn.conf",但我不喜欢那样,因为这意味着如果我移动 conf 文件夹而不是简单地更改 -f 选项,我将不得不更改每个 Include 指令。

有谁知道让 Include 指令相对于 Apache 传递的 conf 文件起作用的方法。我试过了Include "./addons/SVN.conf",但这也是相对于 ServerRoot 而言的。这种强制的相对于 ServerRoot Include 的行为违背了将备用配置文件指定为 ServerRoot/conf 中的配置文件的全部目的。

谢谢。

configuration paths apache-2.2

5
推荐指数
1
解决办法
6862
查看次数