小编Tom*_*lik的帖子

nginx 反向代理可访问多个 docker 容器

我想在一个只能通过一个域访问的主机 VM 上运行多个 docker 容器。我想使用请求 url 来区分容器。为了实现这一点,我试图将 nginx 服务器设置为反向代理,并在容器中运行它,同时侦听端口 80。

假设我有两个容器在端口 3000 和 4000 上运行。路由如下:

docker-host.example.com/3000 -> this will access container exposing port 3000
docker-host.example.com/4000 -> this will access container exposing port 4000
Run Code Online (Sandbox Code Playgroud)

问题是我目前正在尝试为这种反向代理定义静态规则。它在没有任何位置的情况下工作正常:

upstream application {
    server <docker container>:3000;
}

server {
        listen 80;

        location / {
            proxy_pass_header  Server;
            proxy_set_header   Host $http_host;
            proxy_redirect     off;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Scheme $scheme;
            proxy_pass         http://application/;
        }
}
Run Code Online (Sandbox Code Playgroud)

但是当我添加端口位置并尝试使用 localhost:{nginx port}/3000/ 访问它时

upstream application {
    server <docker container>:3000;
}

server {
        listen 80; …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy nginx docker

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

SignalR产生大量403错误

我为网站创建了一个小模块,它使用SignalR来检测用户是否需要刷新浏览器.在本地它可以工作,但是当代码投入生产时,会产生数千个错误:

服务器端:( mainProject/Hubs目录):

public class AppVersionNotifierHub : Hub<IAppVersionNotifierHub>
{
    public void CheckAppVersion(string version)
    {
        // if client has diffrent version, invoke callback
        if (Global.Version != version)
        {
            Clients.Caller.NewAppVersion(Global.Version);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Javascript(类型脚本):

this.subscribeVersionChecker = () => {
    var hub = (<any>$.connection).appVersionNotifierHub;

    hub.client.newAppVersion = (version: string) => {
        .. some logic
    }

    $.connection.hub.start(() => {
            hub.server.checkAppVersion(customerVersion.text());
    });

    $.connection.hub.reconnected(() => {
        setTimeout(() => {
            hub.server.checkAppVersion(customerVersion.text());
        }, 5000); // Restart connection after 5 seconds.
    });

    $.connection.hub.disconnected(() …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous azure signalr

2
推荐指数
1
解决办法
3732
查看次数

NEST Elasticseach 如何匹配具有多个值的字段

我需要执行一项搜索,在查询中我将提供应由一个字段匹配的多个值。

之前我总是需要按两个值进行搜索,所以代码如下所示:

Filter<Document>.Query(q =>
  q.Term(p => p.FieldName, value1) ||
  q.Term(p => p.FieldName, value2));
Run Code Online (Sandbox Code Playgroud)

但现在我有一个值列表。我没有看到任何这样的例子。我正在使用 NEST 1.7.1 感谢您的帮助。

c# elasticsearch nest

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

标签 统计

c# ×2

asynchronous ×1

azure ×1

docker ×1

elasticsearch ×1

nest ×1

nginx ×1

reverse-proxy ×1

signalr ×1