【问题标题】:Configure Nginx to serve one endpoint only将 Nginx 配置为仅服务一个端点
【发布时间】:2018-01-04 15:53:12
【问题描述】:

我正在使用 Flask。

我在 www.example.com/ 的 nginx 中配置了我的网站。

现在我的要求是在我的应用中使用不同的域(例如 www.example2.com)提供一个端点

所以可以访问www.example2.com/custom

请注意,我只想为此端点使用 www.example2.com 域名。这在 Nginx 中可行吗?

这是我的 Nginx 配置供参考。

# the upstream component nginx needs to connect to
upstream flask {
    server unix:///home/ubuntu/opt/app/mobifly.sock fail_timeout=0; # for a file socket
}

# configuration of the server
server {
    server_name www.example.com www.example2.com;
    listen         80;

    client_max_body_size 2000M;
    proxy_read_timeout 6000;

    location / {
        include     uwsgi_params;
        uwsgi_pass  unix:/home/project/path/to/project.sock;
    }

}

目前我可以使用这两个域访问所有 url,但我想按照上面指定的方式进行配置。

【问题讨论】:

    标签: python nginx flask


    【解决方案1】:

    使用一个仅匹配 /customlocation 专门为该 server_name 创建另一个 server block

    server {
        server_name www.example.com
        ...
        location / {
            ...
        }
    }
    
    
    server {
        server_name www.example2.com
        ...
        location /custom {
            ...
        }
    }
    

    【讨论】:

    • 好的,谢谢,创建另一个虚拟服务器是一种好的和有效的做法吗?
    • 这样做是完全正常的
    猜你喜欢
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 2017-05-22
    • 2018-12-15
    • 2022-01-16
    相关资源
    最近更新 更多