小编Nod*_*dal的帖子

Phoenix/Elixir/Ejabberd - 响应已发送错误

我正在按照本指南将Ejabberd嵌入Phoenix应用程序(https://blog.process-one.net/embedding-ejabberd-into-an-elixir-phoenix-web-application/),我现在遇到错误它正在运行.

基本上,一切似乎工作正常,直到我导航到" http:// localhost:4000/ejabberd ",此时我收到以下错误:

[error] #PID <0.721.0>运行EjbrdTest.Endpoint终止服务器:localhost:4000(http)请求:GET/ejabberd**(退出)引发异常:**(Plug.Conn.AlreadySentError)响应是已发送(插件)lib/plug/conn.ex:428:Plug.Conn.resp/3(插件)lib/plug/conn.ex:415:Plug.Conn.send_resp/3(ejbrdTest)web/controllers/ejabberd_controller .ex:1:EjbrdTest.EjabberdController.phoenix_controller_pipeline/2(ejbrdTest)lib/phoenix/router.ex:265:EjbrdTest.Router.dispatch/2(ejbrdTest)web/router.ex:1:EjbrdTest.Router.do_call/2 (ejbrdTest)lib/ejbrdTest/endpoint.ex:1:EjbrdTest.Endpoint.phoenix_pipeline/1(ejbrdTest)lib/plug/debugger.ex:90:EjbrdTest.Endpoint."call(overridable 3)"/ 2(ejbrdTest)lib /phoenix/endpoint/render_errors.ex:34:EjbrdTest.Endpoint.call/2(插件)lib/plug/adapters/cowboy/handler.ex:15:Plug.Adapters.Cowboy.Handler.upgrade/4(cowboy)src/cowboy_protocol.erl:442 :: cowboy_protocol .execute/4

而不是用户列表,我在jumbotron中看到了这一点:

在线用户:<%=用户< - @users do%> <%=用户%>

<%end%>

我没有找到任何关于此的内容,任何想法?

谢谢.如果您需要更多信息,请告诉我.

elixir ejabberd phoenix-framework

8
推荐指数
2
解决办法
1655
查看次数

NodeJS - connect-keycloak中间件空响应错误

我在使用带有NodeJS的connect-keycloak中间件时遇到了问题,并且使用它的人在网上的文档似乎很少.这是基于以下官方文档中的"完整示例":http://keycloak.github.io/keycloak-nodejs/connect/

我在使用curl测试时遇到意外错误,与未定义的'keycloak-token'有关.我在我的代码或源代码中找不到任何引用,也没有在网上遇到同样问题的其他人.谁能看到我做错了什么?

connect-keycloak对象包含并按预期实例化:

// app.js:
// module dependencies
var request = require('sync-request');
var fs = require('fs');
var restify = require('restify');
var Keycloak = require('connect-keycloak');
var session = require('express-session');
var memoryStore = new session.MemoryStore();

// Keycloak
var keycloak = new Keycloak({ store: memoryStore });
Run Code Online (Sandbox Code Playgroud)

并使用中间件:

var server = restify.createServer({
    name: 'name',
    version: '1.0.0'
});

server.use(restify.acceptParser(server.acceptable));
server.use(restify.queryParser());
server.use(restify.bodyParser());
server.use(keycloak.middleware({ logout: '/logout', admin: '/' }));

server.use(session({
    secret: 'secret',
    resave: false,
    saveUninitialized: true,
    store: memoryStore
}));
Run Code Online (Sandbox Code Playgroud)

并且keycloak.protect方法已经到位:

server.get(/.*/, keycloak.protect(), restify.serveStatic({
    'directory': …
Run Code Online (Sandbox Code Playgroud)

middleware connect node.js oauth-2.0 keycloak

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

通过具有写访问权限的2台服务器复制Mongodb数据

我希望能够在2个(更多的)服务器上以最小的延迟从MongoDB复制数据.一台服务器位于中国(防火墙后面),另一台位于美国(不在防火墙后面).

我们想要这两台服务器的原因是一台服务器来自中国境外,另一台服务器来自内部服务器.必须通过隔离墙的请求非常慢.

数据集必须在两台服务器之间保持一致.有没有办法使用MongoDB将数据从一个服务器复制到另一个服务器(双向),其中两个服务器都保留读写功能.

MongoDB 副本集似乎不合适,因为似乎只有指定的节点保留写入功能.如果有可能有2个或更多主节点,这可行,但据我所知,没有.

这里有什么合适的方法?有任何想法吗?

再次感谢.

replication synchronization mongodb database-replication replicaset

6
推荐指数
0
解决办法
278
查看次数