Port

Port是BAE提供的端口服务,将部署执行单元内部的端口开放到公网供用户自行使用,请求通过公网ip:port直接进入到执行单元内部,从而支持socket及websocket等。目前只提供TCP相应的服务。

注意: Port服务对连接有一个限制,没有数据传输起的5分钟后会断掉连接,若要持久连接需要定期激活ip:port,较方便的方法是用telnet ip port或者代码的方式建立TCP第一次握手即可。

添加Port端口服务

  1. 在“应用引擎BAE-部署列表”页面选取目标部署并单击进入后,单击左侧导航栏的“配额管理”申请Port资源。

    我们对Port服务进行了资源限制,目前只提供申请机制,如果您要使用,请在配额管理中提交申请。

  2. 申请成功后返回“扩展服务列表”页面,单击“添加扩展服务”,选择Port。

  3. 选择合适的套餐并勾选“同意”后,单击“立即购买”进入确认订单页面确认购买。

  4. 购买成功后返回“扩展服务列表”页面,Port部分显示新添加的Port资源。

  5. 单击Port资源名进入管理页面将其绑定到具体的执行单元。

使用说明

代码使用

以Port资源111.206.45.12:30006为例,这是其对外的ip:port,BAE部署的内部端口为10666。对于部署在BAE中的server端,监听0.0.0.0:10666,client端监听111.206.45.12:30006即可建立连接。

端口限制

理论上内部可以监听所有端口,但是我们的执行单元内部对下述端口已经占用作为他用,不建议对这些端口在进行监听,已被占用端口如下

  • 8080:web类应用中,lighttpd的端口
  • 9000:web类应用中,cgi的监听端口
  • 18080:nodejs类中默认的监听端口

SSH服务

可使用 Port 端口服务开启ssh,允许用户直接ssh到用户部署内部。

  1. 使用Port端口服务,来申请一个对外的IP:port, 内部端口绑到22(必须是22)。
  2. 在本地用创建openssh格式的公共密钥 “**
  3. 编辑app.conf,增加以下,然后生效新版本:

    sshd :
      service : on
      public_keys :
         - "********"
    
  4. 执行ssh命令连接到BAE部署内部。

    ssh bae@<ip> -p <Port>
    

连接实例

SecretCRT连接

  1. 创建公钥。

  2. 选择RSA。

  3. 选择openssh密钥格式。

  4. 打开公钥文件“*.pub”,将公钥内容添加进app.conf。

  5. 发布新版本,创建新链接:

命令行连接

  1. 创建公钥并获取内容。

    $ ssh-keygen
    $ cat <prefix>/.ssh/id_rsa.pub
    
  2. 将公钥内容添加进app.conf。

  3. 发布新版本。