NGINX中的proxy_pass配置

时间:2017-03-31 08:50:34

标签: nginx python-sphinx nginx-location proxypass

我正在尝试弄清楚如何通过NGINX中的server { listen 80; server_name example.com; root /var/www; location /documentation { proxy_pass http://example.com:8000; index index.php index.html index.htm; } } 传递外部请求。特别是我想从Sphinx Documentation source加载http://example.com/documentation/,但实际上在重新启动NGINX服务器后,我得到了502 Bad Gateway,可能是由于配置不正确而导致的。

这是我的示例配置:

example.com

在我看来它应该有用,有什么建议吗?

如果我尝试在没有NGINX配置的情况下通过ssh控制台启动Sphinx源,它可以工作,但源路径是这样的:http://example.com:8000,而不是显示它的最佳方式。

另外因为我需要每次都通过控制台命令加载它:

  

sphinx-autobuild source build / html --host http://example.com --port8000

我没有发现在主机的特定子文件夹中启动它,例如子文件夹/文档。

[更新]

我已经尝试用@Johnny Logan建议的localhost指令替换http://example.com/documentation:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000:8000/ ,并且我收到了 502 Bad Request 这个奇怪的结果请求地址栏:

use

1 个答案:

答案 0 :(得分:0)

看起来你再次连接到example.com - 我想你想在内部进入端口8000?您可能希望在配置中替换“localhost”:

server {

    listen 80;
    server_name example.com;
    root /var/www;

    location /documentation {

        proxy_pass http://localhost:8000;
        index index.php index.html index.htm;
    }

}

这样你也不需要打开端口8000 - 一切都通过端口80或443。