小编pau*_*l h的帖子

如何在 Nginx 后面使用 Phoenix 设置 Websockets?

我正在尝试设置网络套接字以通过 Nginx 访问 Phoenix 应用程序,但不断收到 403 错误。任何人都可以建议正确的配置以使其在生产中工作 - 开发环境很好。

我的 Nginx 配置:

upstream phoenix {
  server 127.0.0.1:4000 max_fails=5 fail_timeout=60s;
}

server {
  server_name <app-domain>;
  listen 80;

  location / {
    allow all;

    # Proxy Headers
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Cluster-Client-Ip $remote_addr;

    # The Important Websocket Bits!
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_pass http://phoenix;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的 prod.exs conf:

use Mix.Config

config :logger, level: :info
config :phoenix, :serve_endpoints, true

config :app, App.Endpoint,
  http: [port: 4000],
  url: …
Run Code Online (Sandbox Code Playgroud)

nginx elixir websocket phoenix-framework phoenix-channels

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

如何读取带有连字符属性的 Json 文件

我正在学习 C# 并尝试读取一些 json 文件。我已经学会了如何读取 ok ,除非属性用连字符连接 - 我不知道如何对 json 进行建模以反序列化它。

所以如果我有以下 Json:

{
    "prop1": "val1"
}
Run Code Online (Sandbox Code Playgroud)

我会这样做:

class MyJson
{
    public string prop1;
}

MyJson? myJson = JsonSerializer.Deserialize<MyJson>(jsonStr);
Run Code Online (Sandbox Code Playgroud)

但如果我有这个 Json:

{
    "prop-1": "val1"
}
Run Code Online (Sandbox Code Playgroud)

我显然不能这样做:

class MyJson
{
    public string prop-1;
}

MyJson? myJson = JsonSerializer.Deserialize<MyJson>(jsonStr);
Run Code Online (Sandbox Code Playgroud)

那么我该如何反序列化上面带有连字符属性的 Json 呢?

我发现了大量有关读取和写入 Json 的优质资源,但是当属性用连字符连接时却没有任何解释。

非常感谢。

c# json

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