nginx:设置到不同服务器的特定路径

时间:2017-01-11 16:23:45

标签: nginx

我的大学有一个域名,我正在运行服务:

    server {
    listen              443 default_server ssl;
    server_name         example.uni.com;
    keepalive_timeout   70;

    ssl_certificate     xxx.crt;
    ssl_certificate_key xxx.key;


    location / {
        proxy_pass http://localhost:8081;
        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;
    }


}

我想要实现的是让example.uni.com/specificaddress指向在不同的localhost端口上运行的不同服务,而不必修改在8081上运行的服务(更好的是{{1} },但我相信我自己也做不到这一点。这怎么可能?简单地创建specificaddress.example.uni.com设置为server_name的另一台服务器不幸地不起作用(不是很大,它由8081上运行的服务处理)。

1 个答案:

答案 0 :(得分:3)

您可以添加新的位置块,代理通过不同的端口。

示例

location / {
        proxy_pass http://localhost:8081;
        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 /specificaddress {
        proxy_pass http://localhost:8082;
        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;
}