我正在按照本指南将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%>
我没有找到任何关于此的内容,任何想法?
谢谢.如果您需要更多信息,请告诉我.
我在使用带有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) 我希望能够在2个(更多的)服务器上以最小的延迟从MongoDB复制数据.一台服务器位于中国(防火墙后面),另一台位于美国(不在防火墙后面).
我们想要这两台服务器的原因是一台服务器来自中国境外,另一台服务器来自内部服务器.必须通过隔离墙的请求非常慢.
数据集必须在两台服务器之间保持一致.有没有办法使用MongoDB将数据从一个服务器复制到另一个服务器(双向),其中两个服务器都保留读写功能.
MongoDB 副本集似乎不合适,因为似乎只有指定的主节点保留写入功能.如果有可能有2个或更多主节点,这可行,但据我所知,没有.
这里有什么合适的方法?有任何想法吗?
再次感谢.
replication synchronization mongodb database-replication replicaset
connect ×1
ejabberd ×1
elixir ×1
keycloak ×1
middleware ×1
mongodb ×1
node.js ×1
oauth-2.0 ×1
replicaset ×1
replication ×1