在Cloud Foundry上使用Node.js托管WebDAV服务器

2020-09-06 00:08发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试在Cloud Foundry环境上使用Node.js托管WebDAV服务器。 我在本地计算机上开发了它,并使它在那里工作。 但是在Cloud Foundry上,出现以下错误:

 2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR events.js:174
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR thrower; //未处理的"错误"事件
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]错误^
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR错误:监听EAFNOSUPPORT:不支持地址族::: 1900
    2019-06-07T08:06:54.37 + 0200 Server.setupListenHandle处的[APP/PROC/WEB/0]错误[为_listen2](net.js:1262:19)
    2019-06-07T08:06:54.37 + 0200在listenInCluster(net.js:1327:12)出现[APP/PROC/WEB/0]错误
    2019-06-07T08:06:54.37 + 0200 doListen的[APP/PROC/WEB/0]错误(net.js:1460:7)
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR在process._tickCallback(内部/process/next_tick.js:63:19)
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]在Function.Module.runMain(内部/模块/cjs/loader.js:832:11)处出现ERR
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]启动时出现错误(内部/引导程序/node.js:283:19)
    2019-06-07T08:06:54.37 + 0200在bootstrapNodeJSCore(内部/引导程序/node.js:622:3)出现[APP/PROC/WEB/0]错误
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]错误在以下位置发出了``错误''事件:
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]出现错误时(ermErrorNT)(net.js:1306:8)
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR在process._tickCallback(内部/process/next_tick.js:63:19)
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]错误[...与原始堆栈跟踪匹配的行...]
    2019-06-07T08:06:54.37 + 0200在bootstrapNodeJSCore(内部/引导程序/node.js:622:3)出现[APP/PROC/WEB/0]错误
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误! 代码ELIFECYCLE
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误!  errno 1
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误!  webdav-testserver@0.0.1开始:`node app.js`
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误! 退出状态1
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误!
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误! 在webdav-testserver@0.0.1启动脚本处失败。
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误!  npm可能不是问题。 上面可能还有其他日志记录输出。
    2019-06-07T08:06:54.57 + 0200 [APP/PROC/WEB/0]错误npm错误! 可以在以下位置找到此运行的完整日志:
    2019-06-07T08:06:54.57 + 0200 [APP/PROC/WEB/0]错误npm错误! /home/vcap/app/.npm/_logs/2019-06-07T06_06_54_478Z-debug.log
 

我已经清理了代码的基本部分,以使我的app.js现在看起来像:

/* ---要求--- */
 const webdav = require('webdav-server')。v2;

 const server = new webdav.WebDAVServer({
     港口:1900
 });

 server.setFileSystem('/',new webdav.VirtualFileSystem(new webdav.VirtualSerializer()),(成功)=> {
   server.start((s)=> console.log('服务器已准备好进行连接'));
 })

我做到了:

  • 将代码清洗到最少
  • 删除了所有路径
  • 尝试了多个端口

我正在使用:

我也尝试在express框架中运行它:

 const webdav = require('webdav-server')。v2;
 const express = require('express');
 
 const server = new webdav.WebDAVServer();
 const app = express();
 
//挂载WebDAVServer实例
 app.use(webdav.extensions.express('/webdav',服务器));
 app.listen(1901); //启动Express服务器
 

..但是出现以下错误:

 2019-06-07T10:11:24.15 + 0200 [APP/PROC/WEB/0] OUT> webdav-testserver@0.0.1开始/home/vcap/app
    2019-06-07T10:11:24.15 + 0200 [APP/PROC/WEB/0] OUT>节点app.js
    2019-06-07T10:12:21.82 + 0200 [HEALTH/0] ERR无法建立与端口8080的TCP连接:连接被拒绝
    2019-06-07T10:12:21.82 + 0200 [CELL/0] ERR 1m0s后超时:健康检查从未通过。
    2019-06-07T10:12:33.26 + 0200 [CELL/0] OUT单元格f3887699-1171-427f-b7f5-238af5a6e7c2停止实例83ea722c-4297-477e-408b-5434
    2019-06-07T10:12:33.30 + 0200 [API/33] OUT进程已崩溃,类型为:" Web"
    2019-06-07T10:12:33.26 + 0200 [CELL/0]输出单元格f3887699-1171-427f-b7f5-238af5a6e7c2破坏容器例如83ea722c-4297-477e-408b-5434
    2019-06-07T10:12:33.31 + 0200 [API/33] OUT应用程序实例已退出,GUID为f65325a1-d25f-45e2-9629-0d21db45c24e有效负载:{" instance" =>" 83ea722c-4297-477e-408b-5434"  ," index" => 0," cell_id" =>" f3887699-1171-427f-b7f5-238af5a6e7c2","原因" =>" CRASHED"," exit_description" =>"实例在1m0之后永不运行:无法使TCP生效 到端口8080的连接:连接被拒绝;进程没有退出"," crash_count" => 3," crash_timestamp" => 1559895153263521160," version" =>" 4e73e8c7-c15e-4272-addc-2a94936de814"}
 

有人可以给我一个提示吗,或者对SCP有任何限制吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试在Cloud Foundry环境上使用Node.js托管WebDAV服务器。 我在本地计算机上开发了它,并使它在那里工作。 但是在Cloud Foundry上,出现以下错误:

 2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR events.js:174
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR thrower; //未处理的"错误"事件
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]错误^
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR错误:监听EAFNOSUPPORT:不支持地址族::: 1900
    2019-06-07T08:06:54.37 + 0200 Server.setupListenHandle处的[APP/PROC/WEB/0]错误[为_listen2](net.js:1262:19)
    2019-06-07T08:06:54.37 + 0200在listenInCluster(net.js:1327:12)出现[APP/PROC/WEB/0]错误
    2019-06-07T08:06:54.37 + 0200 doListen的[APP/PROC/WEB/0]错误(net.js:1460:7)
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR在process._tickCallback(内部/process/next_tick.js:63:19)
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]在Function.Module.runMain(内部/模块/cjs/loader.js:832:11)处出现ERR
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]启动时出现错误(内部/引导程序/node.js:283:19)
    2019-06-07T08:06:54.37 + 0200在bootstrapNodeJSCore(内部/引导程序/node.js:622:3)出现[APP/PROC/WEB/0]错误
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]错误在以下位置发出了``错误''事件:
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]出现错误时(ermErrorNT)(net.js:1306:8)
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0] ERR在process._tickCallback(内部/process/next_tick.js:63:19)
    2019-06-07T08:06:54.37 + 0200 [APP/PROC/WEB/0]错误[...与原始堆栈跟踪匹配的行...]
    2019-06-07T08:06:54.37 + 0200在bootstrapNodeJSCore(内部/引导程序/node.js:622:3)出现[APP/PROC/WEB/0]错误
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误! 代码ELIFECYCLE
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误!  errno 1
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误!  webdav-testserver@0.0.1开始:`node app.js`
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误! 退出状态1
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误!
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误! 在webdav-testserver@0.0.1启动脚本处失败。
    2019-06-07T08:06:54.47 + 0200 [APP/PROC/WEB/0]错误npm错误!  npm可能不是问题。 上面可能还有其他日志记录输出。
    2019-06-07T08:06:54.57 + 0200 [APP/PROC/WEB/0]错误npm错误! 可以在以下位置找到此运行的完整日志:
    2019-06-07T08:06:54.57 + 0200 [APP/PROC/WEB/0]错误npm错误! /home/vcap/app/.npm/_logs/2019-06-07T06_06_54_478Z-debug.log
 

我已经清理了代码的基本部分,以使我的app.js现在看起来像:

/* ---要求--- */
 const webdav = require('webdav-server')。v2;

 const server = new webdav.WebDAVServer({
     港口:1900
 });

 server.setFileSystem('/',new webdav.VirtualFileSystem(new webdav.VirtualSerializer()),(成功)=> {
   server.start((s)=> console.log('服务器已准备好进行连接'));
 })

我做到了:

  • 将代码清洗到最少
  • 删除了所有路径
  • 尝试了多个端口

我正在使用:

我也尝试在express框架中运行它:

 const webdav = require('webdav-server')。v2;
 const express = require('express');
 
 const server = new webdav.WebDAVServer();
 const app = express();
 
//挂载WebDAVServer实例
 app.use(webdav.extensions.express('/webdav',服务器));
 app.listen(1901); //启动Express服务器
 

..但是出现以下错误:

 2019-06-07T10:11:24.15 + 0200 [APP/PROC/WEB/0] OUT> webdav-testserver@0.0.1开始/home/vcap/app
    2019-06-07T10:11:24.15 + 0200 [APP/PROC/WEB/0] OUT>节点app.js
    2019-06-07T10:12:21.82 + 0200 [HEALTH/0] ERR无法建立与端口8080的TCP连接:连接被拒绝
    2019-06-07T10:12:21.82 + 0200 [CELL/0] ERR 1m0s后超时:健康检查从未通过。
    2019-06-07T10:12:33.26 + 0200 [CELL/0] OUT单元格f3887699-1171-427f-b7f5-238af5a6e7c2停止实例83ea722c-4297-477e-408b-5434
    2019-06-07T10:12:33.30 + 0200 [API/33] OUT进程已崩溃,类型为:" Web"
    2019-06-07T10:12:33.26 + 0200 [CELL/0]输出单元格f3887699-1171-427f-b7f5-238af5a6e7c2破坏容器例如83ea722c-4297-477e-408b-5434
    2019-06-07T10:12:33.31 + 0200 [API/33] OUT应用程序实例已退出,GUID为f65325a1-d25f-45e2-9629-0d21db45c24e有效负载:{" instance" =>" 83ea722c-4297-477e-408b-5434"  ," index" => 0," cell_id" =>" f3887699-1171-427f-b7f5-238af5a6e7c2","原因" =>" CRASHED"," exit_description" =>"实例在1m0之后永不运行:无法使TCP生效 到端口8080的连接:连接被拒绝;进程没有退出"," crash_count" => 3," crash_timestamp" => 1559895153263521160," version" =>" 4e73e8c7-c15e-4272-addc-2a94936de814"}
 

有人可以给我一个提示吗,或者对SCP有任何限制吗?

付费偷看设置
发送
1条回答
N-Moskvin
1楼-- · 2020-09-06 00:39

我自己找到了答案:)

我必须使用端口8080,因为它是CF中唯一可用的端口

 const webdav = require('webdav-server')。v2;
 const express = require('express');
 
 const server = new webdav.WebDAVServer();
 const app = express();//挂载WebDAVServer实例
 app.use(webdav.extensions.express('/webdav',服务器));
 app.listen(8080);//启动Express服务器

一周热门 更多>