标签: openshift

WebSocket与OpenShift应用程序的连接失败

我用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)

javascript websocket node.js openshift

10
推荐指数
1
解决办法
7255
查看次数

解决openhift磁盘配额使用问题

我在OpenShift上使用WordPress小型齿轮盒.

有关应用程序磁盘使用率超过其配额95%的警告.

警告:Gear ...正在使用99.5%的磁盘配额

这导致齿轮脱机.下载应用程序,.tar文件只有大约55MB.我使用了以下整洁的命令,得到了"成功"响应而没有解决问题.

rhc app-tidy [appname]

任何建议如何解决这个问题?

wordpress diskspace openshift

10
推荐指数
1
解决办法
3949
查看次数

OpenShift:节点应用程序"无法执行控制启动"

我事先意识到这是一个模糊的问题,但我很难过我还能在这里尝试什么......

我一直在经历其他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 …

linux node.js openshift

10
推荐指数
2
解决办法
7455
查看次数

Symfony2:您已请求不存在的参数

我在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)

php symfony openshift

10
推荐指数
1
解决办法
2万
查看次数

Zipkin Client不会在Hawkular APM中收到日志

我有一个带有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)

apache-camel openshift zipkin hawkular distributed-tracing

10
推荐指数
0
解决办法
160
查看次数

由于 Keycloak 默认登录重定向而导致混合内容错误

所需信息:

我在 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)

spring openshift keycloak

10
推荐指数
2
解决办法
2万
查看次数

ArgoCD 跟踪指定路径中的子目录

我正在使用 ArgoCD,我想跟踪不同子目录下的文件。我已将路径设置为 ./root_directory,但我还想跟踪 root_directory 子目录中的文件。例如 /root_directory/dir1、/root_directory/dir2,还有 /root_directory/dir1/dir1.1 ecc.. 我该怎么做?

感谢您的帮助

openshift kubernetes kustomize gitops argocd

10
推荐指数
2
解决办法
2万
查看次数

每日cron在特定时间

我想在OpenShift Express PaaS上开展日常工作.我知道如何在我的应用程序上激活cron盒式磁带以及如何将脚本添加到正确的cron文件夹中.

但是我特别需要指定工作执行的那一天.例如"每天晚上10:30"

这可能与OpenShift cron墨盒有关吗?如何配置特定时间的日常工作?

此致,拉尔斯

openshift

9
推荐指数
1
解决办法
2610
查看次数

OpenShift超出了磁盘配额

我刚刚将应用程序部署到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)

mongodb openshift

9
推荐指数
3
解决办法
5961
查看次数

应用程序无法启动(端口8080)不可用

我正在尝试将我的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)

mongodb node.js openshift

9
推荐指数
3
解决办法
7787
查看次数