Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么毒蛇机器人(Nodejs)可以';在Nginx后面的Docker内部运行时,是否不注册webhook? 码头上的毒蛇机器人_Node.js_Docker_Nginx_Docker Compose_Viber - Fatal编程技术网

Node.js 为什么毒蛇机器人(Nodejs)可以';在Nginx后面的Docker内部运行时,是否不注册webhook? 码头上的毒蛇机器人

Node.js 为什么毒蛇机器人(Nodejs)可以';在Nginx后面的Docker内部运行时,是否不注册webhook? 码头上的毒蛇机器人,node.js,docker,nginx,docker-compose,viber,Node.js,Docker,Nginx,Docker Compose,Viber,使用pm2和docker集装箱启动Viber机器人 包含DockerFile、docker compose和config文件的整个项目 问题是:当我在主机上启动viber机器人时,它就像一个魔咒一样工作。 Bot暴露于端口10022,可在以下位置访问。 代码位于images/bots/viberhost/src/viber/MobstedViberBot.js:49。您甚至可以从源代码运行 viberListenerServer.createServer(this.miniapp.middl

使用pm2和docker集装箱启动Viber机器人

包含DockerFile、docker compose和config文件的整个项目

问题是:当我在主机上启动viber机器人时,它就像一个魔咒一样工作。 Bot暴露于端口10022,可在以下位置访问。 代码位于images/bots/viberhost/src/viber/MobstedViberBot.js:49。您甚至可以从源代码运行

viberListenerServer.createServer(this.miniapp.middleware()).listen(params['port'],()=>{
.miniapp.setWebhook(webhookurl).catch(函数(e){
console.warn('未设置WEBHOOK!这里有问题!')
控制台日志(e);
});
});
但我们无法公开所有端口,因此我们将viber bot隐藏在nginx后面。 我们正在主机denis.mbst.xyz上运行nginx。 我们正在将请求从代理到10022端口上运行的本地容器

但当pm2启动器()位于docker内部,viber机器人的主机在nginx后面代理时,它无法设置viber Webhook<但是!同时:Viber机器人可以从外部获得!在那个网址上

您可以获取/发布并在viberhost日志中看到它进行了一些日志记录。因此,请求正在到达它。 检查
logs/pm2
文件夹中的日志。 但就在同一时刻,nginx in
logs/nginx
说他收到了一条404错误消息(Wtf?!)

172.27.0.1---[2018年8月14日:06:12:44+0000]“POST/bot/20000?sig=f985f3f4b20a9f67e8c4b1849dee6346845dd3c2916f86b8f68a96c418440eef HTTP/1.1“404149”-“Jetty/9.2.10.v20150310”-” {\x22event\x22:\x22webhook\x22\x22timestamp\x22:15342271635\x22消息\u令牌\x22:521003603070067031} -“”-“”-“”

viber机器人正在从viber服务器获取(!)请求,可以看到它,但报告设置webhook失败

如何繁殖 1.建立本地形象 怎么做的 我们将在docker内部运行多个机器人。为了安全起见,, 只有nginx暴露在80和443端口。 但是每个机器人都必须在自己的端口上运行,所以我们在 我们正在将请求从代理到10022端口上运行的本地容器 这是ngnix.conf的线路

location ~/bot/(1[0-9][0-9][0-9][0-9]).
        {
            resolver 127.0.0.11;
            proxy_pass http://viberhost:$1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-NginX-Proxy true;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_max_temp_file_size 0;
            proxy_redirect off;
            proxy_read_timeout 240s;
        }
运行viber机器人的容器

pm2 start ecosystem_test_viber.config.js --env=test
问题 请帮助修复NGINX配置,以便安装webhook时使用alllow viber bot。我认为问题可能在于一些标题,或者 Viber.com-Nginx-Viber机器人之间存在连接问题。。。 请随意评论这种情况

包含DockerFile、docker compose和config文件的整个项目

pm2 start ecosystem_test_viber.config.js --env=test