我用NodeJS创建了一个应用程序,我正在使用ws模块.如果我在localhost中测试应用程序它是有效的,连接websockets没有任何问题.现在我已将应用程序上传到Openshift,当我尝试从客户端访问时,它返回无法建立与websocket的连接.
如果我在我的应用程序中使用putty尾部,我会收到以下消息:DEBUG:这种类型的响应不能有一个正文.忽略传递给end()的数据.
我在服务器中的代码是:
#!/bin/env node
//Openshift variables
var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "192.168.69.42";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
//NodeJS require modules
var Enum = require('enum');
var WebSocketServer = require('ws').Server
wss = new WebSocketServer({host:ipaddress, port:port});
var fs = require('fs');
wss.on('connection', function(ws) {
console.log((new Date()) + ' Connection from origin: ' + ws._socket.remoteAddress);
});
console.log((new Date()) + " Server is listening on: " + ipaddress + ':' port);
Run Code Online (Sandbox Code Playgroud)
在客户端:
var ws = new WebSocket("ws://192.168.69.42:8080/");
ws.onopen = function() { …Run Code Online (Sandbox Code Playgroud) 我在OpenShift上使用WordPress小型齿轮盒.
有关应用程序磁盘使用率超过其配额95%的警告.
警告:Gear ...正在使用99.5%的磁盘配额
这导致齿轮脱机.下载应用程序,.tar文件只有大约55MB.我使用了以下整洁的命令,得到了"成功"响应而没有解决问题.
rhc app-tidy [appname]
任何建议如何解决这个问题?
我事先意识到这是一个模糊的问题,但我很难过我还能在这里尝试什么......
我一直在经历其他SO问题并遵循他们的建议但到目前为止还没有解决我的问题.
这是我得到的具体错误.
Stopping NodeJS cartridge
Fri Jul 10 2015 10:36:28 GMT-0400 (EDT): Stopping application 'appname' ...
Fri Jul 10 2015 10:36:29 GMT-0400 (EDT): Stopped Node application 'appname'
Starting NodeJS cartridge
Fri Jul 10 2015 10:36:30 GMT-0400 (EDT): Starting application 'appname' ...
Waiting for application port (8080) become available ...
Application 'appname' failed to start (port 8080 not available)
Failed to execute: 'control restart' for /var/lib/openshift/MYID/nodejs
Run Code Online (Sandbox Code Playgroud)
我的package.json文件是最新的所有我的依赖项,有scripts: { start: 'node server.js' }属性,但我仍然收到此错误.
如果我SSH并进入我的current/repo目录并运行node …
我在SO上检查了类似的问题,但他们没有解决我的问题.
我正在Openshift上部署Symfony2应用程序.它在我的Windows 10笔记本电脑上运行良好,但我在Openshift上收到以下错误消息:
Fatal error: Uncaught exception 'Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException'
with message 'You have requested a non-existent parameter "database_path".
Did you mean one of these: "database_host", "database_port", "database_name", "database_user"?'
in /var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php:106 Stack trace: #0
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php(248):
Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->get('database_path') #1 [internal function]:
Symfony\Component\DependencyInjection\ParameterBag\ParameterBag->Symfony\Component\DependencyInjection\ParameterBag\{closure}(Array) #2
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php in
/var/lib/openshift/55eed4837628e1199f0000bb/app-root/runtime/repo/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php on line 106
Run Code Online (Sandbox Code Playgroud)
我config.yml是:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
...
doctrine:
dbal:
driver: pdo_sqlite
charset: UTF8
path: "%kernel.root_dir%/../%database_path%"
...
Run Code Online (Sandbox Code Playgroud)
我parameters.yml是:
parameters: …Run Code Online (Sandbox Code Playgroud) 我有一个带有Zipkin库的客户端应用程序,其中包含spring application.properties中的配置.
camel.zipkin.host-name=hawkular-apm-server.com
camel.zipkin.port=443
camel.zipkin.include-message-body-streams=true
Run Code Online (Sandbox Code Playgroud)
Maven依赖
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-zipkin-starter</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
可以从本地计算机访问hawkular apm服务器控制台.
但是,当调用客户端应用程序中暴露的其余api时,会记录zipkin跟踪,但不会在hawkular apm服务器上收集它们.
04:31:55.632 [http-nio-0.0.0.0-8080-exec-1] INFO o.a.c.c.s.CamelHttpTransportServlet - Initialized CamelHttpTransportServlet[name=CamelServlet, contextPath=]
04:31:55.668 [http-nio-0.0.0.0-8080-exec-1] DEBUG org.apache.camel.zipkin.ZipkinTracer - clientRequest [service=MyCamelClient, traceId=-5541987202080201726, spanId=-5541987202080201726]
04:31:55.672 [http-nio-0.0.0.0-8080-exec-1] DEBUG org.apache.camel.zipkin.ZipkinTracer - serverRequest [service=MyCamel, traceId=-5541987202080201726, spanId=-5541987202080201726]
04:31:55.676 [http-nio-0.0.0.0-8080-exec-1] DEBUG org.apache.camel.zipkin.ZipkinTracer - serverResponse[service=MyCamel, traceId=-5541987202080201726, spanId=-5541987202080201726]
04:31:55.677 [http-nio-0.0.0.0-8080-exec-1] DEBUG org.apache.camel.zipkin.ZipkinTracer - clientResponse[service=MyCamelClient, traceId=-5541987202080201726, spanId=-5541987202080201726]
04:31:55.758 [pool-1-thread-1] WARN o.a.t.transport.TIOStreamTransport - Error closing output stream.
java.net.SocketException: Socket closed
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118)
at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
at org.apache.thrift.transport.TIOStreamTransport.close(TIOStreamTransport.java:110) …Run Code Online (Sandbox Code Playgroud) 所需信息:
我在 Spring 项目后面使用 Keycloak(Docker 版本)。
(该项目的客户端是React,客户端和后端之间的通信由REST服务提供。)
客户端是安全的并使用“https”方案。
这是我的 Spring 配置:
keycloak:
auth-server-url: https://sso-ssoha.b9ad.pro-us-east-1.openshiftapps.com/auth
realm: master
resource: clientname
public-client: true
Run Code Online (Sandbox Code Playgroud)
问题的根源:
当我点击客户端的链接时,它会正常调用 Spring 服务。但在此之前,它会重定向到 Keycloak 的默认登录页面,并将此路径sso/login添加到当前的“https”url,但将方案更改为“http”。
但是,从 https 重定向到 http 会产生如下问题:
Mixed Content: The page at 'https://www.helpful.army/contents/Problem' was loaded over HTTPS, but requested an insecure resource 'http://serviceha-helpfularmy.b9ad.pro-us-east-1.openshiftapps.com/sso/login'. This request has been blocked; the content must be served over HTTPS.
Run Code Online (Sandbox Code Playgroud) 我正在使用 ArgoCD,我想跟踪不同子目录下的文件。我已将路径设置为 ./root_directory,但我还想跟踪 root_directory 子目录中的文件。例如 /root_directory/dir1、/root_directory/dir2,还有 /root_directory/dir1/dir1.1 ecc.. 我该怎么做?
感谢您的帮助
我想在OpenShift Express PaaS上开展日常工作.我知道如何在我的应用程序上激活cron盒式磁带以及如何将脚本添加到正确的cron文件夹中.
但是我特别需要指定工作执行的那一天.例如"每天晚上10:30"
这可能与OpenShift cron墨盒有关吗?如何配置特定时间的日常工作?
此致,拉尔斯
我刚刚将应用程序部署到OpenShift,它运行良好,直到我推动更改.然后它开始警告我超出了磁盘配额,我再也无法做任何事了.
rhc app-tidy [app-name]从终端跑步给了我这个:
Warning: Gear 5395736e5004467cae0004ba is using 100.0% of disk quota
Failed to execute: 'control start' for /var/lib/openshift/5395736e5004467cae0004ba/nodejs
Run Code Online (Sandbox Code Playgroud)
app-root/logs 文件夹是空的.
跑步du -h * | sort -rh | head -50,给我这个:
481M mongodb/data
481M mongodb
385M mongodb/data/journal
275M app-root/runtime
275M app-root
267M app-deployments/2014-06-09_04-51-12.537
267M app-deployments
157M app-root/runtime/repo
156M app-deployments/2014-06-09_04-51-12.537/repo
125M app-root/runtime/repo/node_modules
125M app-deployments/2014-06-09_04-51-12.537/repo/node_modules
119M app-root/runtime/dependencies/.npm
119M app-root/runtime/dependencies
111M app-deployments/2014-06-09_04-51-12.537/dependencies/.npm
111M app-deployments/2014-06-09_04-51-12.537/dependencies
Run Code Online (Sandbox Code Playgroud)
不知道为什么mongodb/data占用了这么多空间,究竟是什么?我的数据库应该是空的.
**更新**
在我的mongodb/data文件夹上运行后,这就是我得到的:
total 97M
drwxr-xr-x. 3 5395736e5004467cae0004ba 5395736e5004467cae0004ba 4.0K Jun 9 05:21 .
drwxr-xr-x. 11 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将我的node.js应用程序(使用express和mongoose)部署到openshift,但我无法这样做.该应用程序在我的本地环境中完美运行.
我的入口点是文件/ bin/www
我将此作为openshift的入口点,在package.json文件中使用此行(根据此主题):
"main": "bin/www",
Run Code Online (Sandbox Code Playgroud)
我确保根据指南使用环境变量设置我的mongodb连接,如下所示:
// default to a localhost configuration:
var mongoConnectionString = 'mongodb://127.0.0.1/code-blog';
// if OPENSHIFT env variables are present, use the available connection info:
if (process.env.OPENSHIFT_MONGODB_DB_PASSWORD) {
mongoConnectionString = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" +
process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" +
process.env.OPENSHIFT_MONGODB_DB_HOST + ':' +
process.env.OPENSHIFT_MONGODB_DB_PORT + '/' +
process.env.OPENSHIFT_APP_NAME;
}
mongoose.connect(mongoConnectionString);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
remote: Waiting for application port (8080) become available ...
remote: Application 'codeblog' failed to start (port 8080 not available)
remote: -------------------------
remote: Git Post-Receive …Run Code Online (Sandbox Code Playgroud)