我在pivotal cloud Foundry上部署了一个Spring Boot应用程序。我正试图从Spring Boot应用程序中通过隧道(cf ssh)到pcf中的应用程序,但找不到任何api或客户端库来实现它。
通道PCF:cf ssh-n-t-l 10001:localhost:10001 ms name的实际cli命令
欢迎任何建议。
如果您试图编写与cf ssh
命令相同的Java代码,那么这应该是可能的。这是标准的SSH,但是凭据是短暂的,所以技巧是生成您可以在应用程序中使用的凭据。
下面是使用标准SSH/SCP/SFTP客户端的示例,注意SSH.bosh-lite.com
将是您的SSH域,您可以从cf curl/v2/info
中看到:
$ ssh -p 2222 cf:$(cf app app-name --guid)/0@ssh.bosh-lite.com
$ scp -P 2222 -oUser=cf:$(cf app app-name --guid)/0 my-local-file.json ssh.bosh-lite.com:my-remote-file.json
$ sftp -P 2222 cf:$(cf app app-name --guid)/0@ssh.bosh-lite.com
https://github.com/cloudfoundry/diego-ssh#cloud-foundry-via-cloud-controller-and-uaa
也就是说,您应该能够对任何标准SSH Java库执行类似的操作。
如前所述,诀窍在于获取凭据。用户名的格式为cf:application-guid/app-instance-number
,这很容易,但密码需要使用cf ssh-code
或对UAA API的类似调用生成。
ex:curl-vv-h'accept:application/json'-h“authorization:$(cf oauth-token)”“https://uaa.run.pivotal.io/oauth/authorize?client_id=ssh-proxy&response_type=code”
此示例使用curl
发送请求,使用cf oauth-token
为登录用户获取有效的Oauth2承载令牌。您可以通过多种方式获得有效的承载令牌,包括直接调用API或使用cf-java-client。它只需要是应该执行SSH操作的用户的有效令牌(即运行cf SSH
)。
希望有帮助!
我正在开发一个将部署在pivotal cloud foundry中的Spring Boot应用程序,它需要读取/侦听来自Websphere MQ的消息。有办法做到这一点吗?
我有一个控制器,它在上接受一个名为的类。控制器方法看起来像这样: 第一控制器: 属性之一的类型为。 现在,我正在尝试添加某种包装器控制器(将在另一台服务器上运行),它也接受,并将请求转发给第一个控制器: 第二(包装)控制器: 当我向第一个控制器发送请求时: 无法写入JSON:找不到java类的序列化程序。伊奥。FileDescriptor,并且没有发现创建BeanSerializer的属性(为了避
并非您希望公开的所有服务都是基于HTTP或TLS的。 ngrok TCP隧道允许您公开通过TCP运行的任何联网服务。这通常用于公开SSH,游戏服务器,数据库等。启动TCP隧道很容易。 公开在端口1234上运行的基于TCP的服务 ngrok tcp 1234 例子 公开侦听默认端口的SSH服务器 ngrok tcp 22 暴露一个Postgres服务器侦听默认端口 ngrok tcp 5432 暴露
HTTPS隧道使用ngrok.com证书终止ngrok.com服务器上的所有TLS(SSL)流量。 对于生产级服务,您需要使用自己的TLS密钥和证书对您的隧道流量进行加密。 ngrok使这个特别容易与TLS隧道。 将TLS流量转发到端口443上的本地HTTPS服务器 ngrok tls -subdomain=encrypted 443 一旦你的隧道运行,尝试访问它与curl。 curl --ins
自定义子域名称 ngrok为它为您打开的HTTP隧道分配随机十六进制名称。 这对于一次性个人用途是可以的。 但是,如果您在黑客马拉松上显示URL或与第三方Webhook集成,则如果隧道名称更改或难以阅读,可能会令人沮丧。 您可以使用-subdomain开关为隧道URL指定自定义子域。 示例:打开具有子域“inconshreveable”的隧道 ngrok http -subdomain=incon
将amazon rds mysql数据库与部署在PCF(Pivotal Cloud Foundry)上的spring boot应用程序连接需要任何特殊配置吗。当我试图通过自动配置绑定时,我会收到一个错误,说明无法获取jdbc连接。