华为云用户手册

  • 前提条件 已下载Linux版本的ODBC驱动包和Windows版本的ODBC驱动包,开发应用程序要用到unixODBC提供的头文件(sql.h、sqlext.h等)和库libodbc.so。这些头文件和库可从unixODBC-2.3.0的安装包中获得。 已下载开源unixODBC代码文件,支持版本为2.3.0,下载地址:https://sourceforge.net/projects/unixodbc/files/unixODBC/2.3.0/unixODBC-2.3.0.tar.gz/download 将提供的ODBC DRIVER(psqlodbcw.so)配置到数据源中便可使用。配置数据源需要配置“odbc.ini”和“odbcinst.ini”两个文件(在编译安装unixODBC过程中生成且默认放在“/usr/local/etc”目录下),并在服务器端进行配置。
  • 获取驱动包 根据不同版本的实例,下载不同版本的发布包,如表2所示。 表2 驱动包下载列表 版本 下载地址 3.x 驱动包 驱动包校验包 2.x 驱动包 驱动包校验包 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB_driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK
  • 远程连接数据库 登录申请的弹性云服务器。 在申请的弹性云服务器上,上传客户端工具包并配置gsql的执行环境变量。 以root用户登录客户端机器。 创建“/tmp/tools”目录。 mkdir /tmp/tools 单击此处获取GaussDB软件包并解压。 unzip GaussDB_opengauss_client_tools.zip 根据申请的弹性云服务器的操作系统架构进入不同目录,获取“GaussDB-Kernel-xxx-EULER-64bit-gsql.tar.gz”,并上传到申请的弹性云服务器“/tmp/tools”路径下。 软件包相对位置为安装时所放位置,根据实际情况填写。 解压文件。 cd /tmp/toolstar -zxvf GaussDB-Kernel-V500R001C00-EULER-64bit-gsql.tar.gz 设置环境变量。 打开“~/.bashrc”文件。 vi ~/.bashrc 在其中输入如下内容后,单击“ESC”退出编辑模式,使用“:wq!”命令保存并退出。 export PATH=/tmp/tools/bin:$PATH export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH 使环境变量配置生效。 source ~/.bashrc 执行如下指令,根据提示输入密码,连接数据库。 数据库创建成功后,会默认生成名称为postgres的数据库,此处以postgres库为例。 gsql -d postgres -h 10.0.0.0 -U root -p 8000Password for user root: postgres为需要连接的数据库名称,10.0.0.0为实例绑定的公网IP地址,root为登录数据库的用户名,8000为实例的端口号。
  • 获取驱动包 根据不同版本的实例,下载不同版本的发布包,如表1所示。 表1 驱动包下载列表 版本 下载地址 3.x 驱动包 驱动包校验包 2.x 驱动包 驱动包校验包 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB_driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK
  • 开发规范 如果用户在APP的开发中,使用了连接池机制,那么需要遵循如下规范: 如果在连接中设置了GUC参数,那么在将连接归还连接池之前,必须使用“SET SESSION AUTHORIZATION DEFAULT;RESET ALL;”将连接的状态清空。 如果使用了临时表,那么在将连接归还连接池之前,必须将临时表删除。 否则,连接池里面的连接就是有状态的,会对用户后续使用连接池进行操作的正确性带来影响。 父主题: 使用驱动连接实例
  • SQL使用入门 创建数据库用户。 默认只有集群安装时创建的管理员用户可以访问初始数据库,您还可以创建其他数据库用户帐号。 CREATE USER joe WITH PASSWORD "xxxxxxxxx"; 当结果显示为如下信息,则表示创建成功。 如上创建了一个用户名为joe,密码为xxxxxxx的用户。 引申信息:关于数据库用户的更多信息请参考管理用户及权限。 创建数据库。 CREATE DATABASE db_tpcds; 当结果显示为如下信息,则表示创建成功。 创建完db_tpcds数据库后,可以在左上方切换到新创建的库中。 创建表。 执行如下命令来创建一个schema。 CREATE SCHEMA myschema; 创建一个名称为mytable,只有一列的表。字段名为firstcol,字段类型为integer。 CREATE TABLE myschema.mytable (firstcol int); 向表中插入数据: INSERT INTO myschema.mytable values (100); 查看表中数据: SELECT * FROM myschema.mytable; 引申信息: 默认情况下,新的数据库对象是创建在“$user”模式下的,例如刚刚新建的表。关于模式的更多信息请参考创建和管理schema。 关于创建表的更多信息请参见创建和管理表。 除了创建的表以外,数据库还包含很多系统表。这些系统表包含集群安装信息以及GaussDB上运行的各种查询和进程的信息。可以通过查询系统表来收集有关数据库的信息。请参见查看系统表。 在db_tpcds库中,root用户下执行如下语句,将新创建的库db_tpcds的所有权限赋予新用户joe。 GRANT ALL ON DATABASE db_tpcds TO joe; GRANT USAGE ON schema myschema TO joe; GRANT ALL ON TABLE myschema.mytable TO joe; 新增joe用户登录数据库db_tpcds。 登录之后,在表中插入数据并验证。 INSERT INTO myschema.mytable values (200); SELECT * FROM myschema.mytable;
  • 远程连接数据库 登录申请的弹性云服务器。 在申请的弹性云服务器上,上传客户端工具包并配置gsql的执行环境变量。 以root用户登录客户端机器。 创建“/tmp/tools”目录。 mkdir /tmp/tools 解压GaussDB软件包“GaussDB_driver.zip”。 根据申请的弹性云服务器的操作系统架构进入不同目录,获取“GaussDB-Kernel-xxx-EULER-64bit-gsql.tar.gz”,并上传到申请的弹性云服务器“/tmp/tools”路径下。 软件包相对位置为安装时所放位置,根据实际情况填写。 解压文件。 cd /tmp/toolstar -zxvf GaussDB-Kernel-xxx-EULER-64bit-gsql.tar.gz xxx为版本号,请根据实际情况替换。 设置环境变量。 打开“~/.bashrc”文件。 vi ~/.bashrc 按下i键进入INSERT模式,在其中输入如下内容后,单击“ESC”退出编辑模式,使用“:wq!”命令保存并退出。 export PATH=/tmp/tools/bin:$PATH export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH 使环境变量配置生效。 source ~/.bashrc 执行如下指令,根据提示输入密码,连接数据库。 数据库创建成功后,会默认生成名称为postgres的数据库,此处以postgres库为例。 gsql -d postgres -h 10.0.0.0 -U root -p 8000Password for user root: postgres为需要连接的数据库名称,10.0.0.0分布式为CN的IP地址,主备版为主DN的IP地址,root为登录数据库的用户名,8000为CN的端口号。
  • 前提条件 本地已安装python语言运行环境。 获取Python驱动包解压后有两个文件夹: psycopg2:psycopg2库文件。 lib:lib库文件。 在使用驱动之前,需要做如下操作: 先解压版本对应驱动包,使用root用户将psycopg2拷贝到python安装目录下的site-packages文件夹下。 修改psycopg2目录权限为755。 将psycopg2目录添加到环境变量$PYTHONPATH,并使之生效。 对于非数据库用户,需要将解压后的lib目录,配置在LD_LIBRARY_PATH中。 在创建数据库连接之前,需要先加载如下数据库驱动程序: import psycopg2
  • 获取驱动包 根据不同版本的实例,下载不同版本的发布包,如表1所示。 表1 驱动包下载列表 版本 下载地址 3.x 驱动包 驱动包校验包 2.x 驱动包 驱动包校验包 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB_driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK
  • 获取驱动包 根据不同版本的实例,下载不同版本的发布包,如表2所示。 表2 驱动包下载列表 版本 下载地址 3.x 驱动包 驱动包校验包 2.x 驱动包 驱动包校验包 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB_driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK
  • 获取驱动包 根据不同版本的实例,下载不同版本的发布包,如表1所示。 表1 驱动包下载列表 版本 下载地址 3.x 驱动包 驱动包校验包 2.x 驱动包 驱动包校验包 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB_driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK
  • 示例 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 //以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。public static Connection getConnect(String username, String passwd) { //驱动类。 String driver = "org.postgresql.Driver"; //数据库连接描述符。 String sourceURL = "jdbc:postgresql://10.10.0.13:8000/postgres"; Connection conn = null; try { //加载驱动。 Class.forName(driver); } catch( Exception e ) { e.printStackTrace(); return null; } try { //创建连接。 conn = DriverManager.getConnection(sourceURL, username, passwd); System.out.println("Connection succeed!"); } catch(Exception e) { e.printStackTrace(); return null; } return conn; };// 以下代码将使用Properties对象作为参数建立连接public static Connection getConnectUseProp(String username, String passwd) { //驱动类。 String driver = "org.postgresql.Driver"; //数据库连接描述符。 String sourceURL = "jdbc:postgresql://10.10.0.13:8000/postgres?"; Connection conn = null; Properties info = new Properties(); try { //加载驱动。 Class.forName(driver); } catch( Exception e ) { e.printStackTrace(); return null; } try { info.setProperty("user", username); info.setProperty("password", passwd); //创建连接。 conn = DriverManager.getConnection(sourceURL, info); System.out.println("Connection succeed!"); } catch(Exception e) { e.printStackTrace(); return null; } return conn; };
  • 获取驱动包 根据不同版本的实例,下载不同版本的发布包,如表1所示。 表1 驱动包下载列表 版本 下载地址 3.x 驱动包 驱动包校验包 2.x 驱动包 驱动包校验包 为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下: 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。 执行如下命令,校验软件包完整性。 cat GaussDB_driver.zip.sha256 | sha256sum --check 如果回显OK,则校验通过。 GaussDB_driver.zip: OK
  • 调用函数创建数据库连接 JDBC提供了三个方法,用于创建数据库连接。 DriverManager.getConnection(String url); DriverManager.getConnection(String url, Properties info); DriverManager.getConnection(String url, String user, String password); 分布式版连接参数参见表2,主备版连接参数参见表3。 表2 分布式版数据库连接参数 参数 描述 url gsjdbc4.jar数据库连接描述符。格式如下: jdbc:postgresql:(数据库名称缺省则与用户名一致) jdbc:postgresql:database jdbc:postgresql://host/database(端口值缺省会使用默认端口) jdbc:postgresql://host:port/database jdbc:postgresql://host:port/database?param1=value1¶m2=value2 jdbc:postgresql://host1:port1,host2:port2/database?param1=value1¶m2=value2 说明: 使用gsjdbc200.jar时,将“jdbc:postgresql”修改为“jdbc:gaussdb”,不同包的区别请参考JDBC包、驱动类和环境类。 database为要连接的数据库名称。 host为数据库服务器名称或IP地址。 建议业务系统单独部署在实例外部,否则可能会影响数据库运行性能。 缺省情况下,连接服务器为localhost。 port为数据库服务器端口。 缺省情况下,会尝试连接到5432端口的database。 param为参数名称,即数据库连接属性。 参数可以配置在URL中,以"?"开始配置,以"="给参数赋值,以"&"作为不同参数的间隔。也可以采用info对象的属性方式进行配置,详细示例会在本节给出。 value为参数值,即数据库连接属性值。 连接时需配置connectTimeout和socketTimeout,推荐配置为2(如果未配置,默认为0,即不会超时)。在DN与客户端出现网络故障时,客户端一直未收到DN侧ACK确认报文,会启动超时重传机制,不断的进行重传。当超时时间达到系统默认的600s后才会报超时错误,这也就会导致RTO时间很高。 info 数据库连接属性(所有属性大小写敏感)。常用的属性如下: PGDBNAME:String类型。表示数据库名称(URL中无需配置该参数,自动从URL中解析)。 PGHOST:String类型。主机IP地址。若配置多个IP,它们的IP和端口用“:”分隔,并作为整体以逗号分隔(URL中无需配置该参数,自动从URL中解析)。 PGPORT:Integer类型。主机端口号。若配置多个,它们的端口号和IP用":"分割,并作为整体以逗号分隔其他(URL中无需配置该参数,自动从URL中解析)。 user:String类型。表示创建连接的数据库用户。 password:String类型。表示数据库用户的密码。 loggerLevel:String类型。目前支持4种级别:OFF、INFO、DEBUG、TRACE。设置为OFF关闭日志。设置为INFO、DEBUG和TRACE记录的日志信息详细程度不同。 loggerFile:String类型。用于指定日志输出路径(目录和文件名)。若只指定文件名,未指定目录则日志生成在客户端运行程序目录;若不配置或配置的路径不存在,则日志会默认通过流输出。 logger:String类型。表示JDBC Driver要使用的日志输出框架。JDBC Driver支持对接用户应用程序使用的日志输出框架。目前仅支持第三方的基于Slf4j-API的日志框架。 如果不设置或设置为JDK LOGGER,则JDBC Driver使用JDK LOGGER。 否则必须设置采用基于Slf4j-API 第三方日志框架。 allowEncodingChanges:Boolean类型。设置该参数值为“true”进行字符集类型更改,配合characterEncoding=CHARSET设置字符集,二者使用"&"分隔。 currentSchema:String类型。在search-path中指定要设置的schema。 loadBalanceHosts:Boolean类型。在默认模式下(禁用),顺序连接URL中指定的多个主机。如果启用,则使用洗牌算法从候选主机中随机选择一个主机建立连接。 autoBalance:String类型。 设置为true或balance或roundrobin表示开启JDBC负载均衡功能,将应用程序的多个连接均衡到中的各个节点。 例如:jdbc:postgresql://host1:port1,host2:port2/database?autoBalance=true JDBC将定期获取(周期刷新可使用参数refreshCNIpListTime配置,默认为10s)整个实例可用CN列表,比如获取到的列表为:host1:port1,host2:port2,host3:port3,host4:port4。 host1和host2在autoBalance启用时,仅在首次连接做高可用用途,后续Driver将从host1,host2,host3,host4中依次选择可用的CN刷新可用CN列表,后续用户新建的connection将使用RoundRobin算法从host1,host2,host3,host4选取CN主机进行连接。 设置为priorityn表示开启JDBC优先级负载均衡功能,将应用程序的多个连接首先均衡到url上配置的前n个中可用的CN数据库主节点,当url上配置前n个主节点全部不可用时,连接会随机分配到数据库实例中其他可用CN数据库主节点。n为数字,不小于0,且小于url上配置的CN数量。 例如:jdbc:postgresql://host1:port1,host2:port2,host3:port3,host4:port4/database?autoBalance=priority2 JDBC将定期获取(周期按refreshCNIpListTime定义)整个实例可用CN列表,比如获取到的列表为:host1:port1,host2:port2,host3:port3,host4:port4,host5:port5,host6:port6,其中host1和host2处于AZ1,host3和host4处于AZ2。 Driver将从优先从host1,host2中做负载均衡,host1和host2全部不可用才从host3, host4, host5, host6中随机选择CN主机连接。 设置为shuffle表示开启JDBC随机负载均衡功能,将应用程序的多个连接随机均衡到数据库实例中的各个可用CN。 例如:jdbc:postgresql://host1:port1,host2:port2,host3:port3/database?autoBalance=shuffle JDBC将定期获取(周期刷新可使用参数refreshCNIpListTime配置,默认为10S)整个实例的可用CN列表,比如获取到的列表为:host1:port1,host2:port2,host3:port3,host4:port4。 host1:port1,host2:port2,host3:port3,仅在首次连接做高可用,后续连接将在刷新后的CN列表中,使用shuffle算法随机选用一个CN节点进行连接。 设置为false,不开启负载均衡功能。默认为false。 注意: 负载均衡是基于连接级别,不是基于事务级别。如果连接是长连接,并且连接上的负载不均衡,无法保证CN主机上的负载是均衡的。 负载均衡仅能在分布式场景下使用,主备版环境中不可使用。 使用priorityn做负载均衡时,连接串中IP需要和pgxc_node表中CN的node_host保持一致,否则无法实现优先级负载均衡功能。 查询实例中可用CN的IP和PORT,可使用此语句:“select node_host,node_port from pgxc_node where node_type='C' and nodeis_active = true;” refreshCNIpListTime:Integer类型。JDBC定期检测中状态,获取可用的IP列表的时间间隔,默认为10秒。 hostRecheckSeconds:Integer类型。JDBC尝试连接主机后会保存主机状态:连接成功或连接失败。在hostRecheckSeconds时间内保持可信,超过则状态失效。缺省值是10秒。 ssl:Boolean类型。以SSL方式连接。 ssl=true可支持NonValidatingFactory通道和使用证书的方式: NonValidatingFactory通道需要配置用户名和密码,同时将SSL设置为true。 配置客户端证书、密钥、根证书,将SSL设置为true。 sslmode:String类型。SSL认证方式。取值范围为:require、verify-ca、verify-full。 require只尝试SSL连接,不会检查服务器证书是否由受信任的CA签发,且不会检查服务器主机名与证书中的主机名是否一致。 verify-ca只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书。 verify-full只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书,以及验证服务器主机名是否与证书中的一致。 sslcert:String类型。提供证书文件的完整路径。客户端和服务端证书的类型为End Entity。 sslkey:String类型。提供密钥文件的完整路径。 sslrootcert:String类型。SSL根证书的文件名。根证书的类型为CA。 sslpassword:String类型。提供给ConsoleCallbackHandler使用。 sslpasswordcallback:String类型。SSL密码提供者的类名。缺省值:org.postgresql.ssl.jdbc4.LibPQFactory.ConsoleCallbackHandler。 sslfactory:String类型。提供的值是SSLSocketFactory在建立SSL连接时用的类名。 sslprivatekeyfactory: String类型。提供的值是实现私钥解密方法的接口org.postgresql.ssl.PrivateKeyFactory的实现类的完整限定类名。如果不提供,首先尝试默认的jdk私钥解密算法,如果无法解密,则使用org.postgresql.ssl.BouncyCastlePrivateKeyFactory,用户需要自己提供bcpkix-jdk15on.jar包,版本建议:1.65以上。 sslfactoryarg:String类型。此值是上面提供的sslfactory类的构造函数的可选参数(不推荐使用本参数)。 sslhostnameverifier:String类型。主机名验证程序的类名。接口实现javax.net.ssl.HostnameVerifier,默认使用org.postgresql.ssl.PGjdbcHostnameVerifier。 loginTimeout:Integer类型。指建立数据库连接的等待时间。超时时间单位为秒。 connectTimeout:Integer类型。用于连接服务器操作的超时值。如果连接到服务器花费的时间超过此值,则连接断开。超时时间单位为秒,值为0时表示已禁用,timeout不发生。 socketTimeout:Integer类型。用于socket读取操作的超时值。如果从服务器读取所花费的时间超过此值,则连接关闭。超时时间单位为秒,值为0时表示已禁用,timeout不发生。 cancelSignalTimeout:Integer类型。发送取消消息本身可能会阻塞,此属性控制用于取消命令的“connect超时”和“socket超时”。超时时间单位为秒,默认值为10秒。 tcpKeepAlive:Boolean类型。启用或禁用TCP保活探测功能。默认为false。 logUnclosedConnections:Boolean类型。客户端可能由于未调用Connection对象的close()方法而泄漏Connection对象。最终这些对象将被垃圾回收,并且调用finalize()方法。如果调用者自己忽略了此操作,该方法将关闭Connection。 assumeMinServerVersion(废弃):String类型。该参数设置要连接的服务器版本。 ApplicationName:String类型。设置正在使用连接的应用程序名称。通过在上查询pgxc_stat_activity表可以看到正在连接的客户端信息,显示在application_name列。缺省值为PostgreSQL JDBC Driver。 connectionExtraInfo:Boolean类型。表示驱动是否上报当前驱动的部署路径、进程属主用户到数据库。 取值范围:true或false,默认值为false。设置connectionExtraInfo为true,JDBC驱动会将当前驱动的部署路径、进程属主用户上报到数据库中,记录在connection_info参数里;同时可以在PG_STAT_ACTIVITY和PGXC_STAT_ACTIVITY中查询到。 autosave:String类型。共有3种:"always", "never", "conservative"。如果查询失败,指定驱动程序应该执行的操作。在autosave=always模式下,JDBC驱动程序在每次查询之前设置一个保存点,并在失败时回滚到该保存点。在autosave=never模式(默认)下,无保存点。在autosave=conservative模式下,每次查询都会设置保存点,但是只会在“statement XXX无效”等情况下回滚并重试。 protocolVersion:Integer类型。连接协议版本号,目前仅支持3。注意:设置该参数时将采用md5加密方式,需要同步修改数据库的加密方式:gs_guc set -N all -I all -Z coordinator -c "password_encryption_type=1" ,重启实例生效后需要创建用md5方式加密密码的用户。同时修改pg_hba.conf,将客户端连接方式修改为md5。用新建用户进行登录(因为设置这个值后,只能使用低等级的加密方式(md5),降低安全性,所以此值不推荐设置)。 说明: MD5加密算法安全性低,存在安全风险,建议使用更安全的加密算法。 prepareThreshold:Integer类型。该值决定着PreparedStatement对象在执行多少次以后使用服务端已经准备好的statement。默认值是5,意味着在执行同一个PreparedStatement对象时,在第五次以及以上执行时不再向服务端发送parse消息对statement进行解析,而使用之前在服务端已经解析好的statement。 preparedStatementCacheQueries:Integer类型。该参数确定了每个连接的cache缓存Statement对象生成query的最大个数。默认值为256,若Statement对象生成query个大于256则会将最近最少使用的query从缓存中丢弃。0表示禁用缓存。 preparedStatementCacheSizeMiB:Integer类型,该参数确定了每个连接的cache缓存Statement对象所生成query的最大值(以兆字节为单位),默认情况下是5。若缓存了超过5MB的query,则最近最少使用的查询缓存将被丢弃。0表示禁用缓存。 databaseMetadataCacheFields:Integer类型。默认值是65536。指定每个连接可缓存的最大字段的个数。“0”表示禁用缓存。 databaseMetadataCacheFieldsMiB:Integer类型。默认值是5。指定每个连接可缓存的字段的最大值,单位是MB。“0”表示禁用缓存。 stringtype:String类型,可选字段为:"unspecified", "varchar"。设置通过setString()方法使用的PreparedStatement参数的类型,如果stringtype设置为VARCHAR(默认值),则这些参数将作为varchar参数发送给服务器。若stringtype设置为unspecified,则参数将作为untyped值发送到服务器,服务器将尝试推断适当的类型。 batchMode:Boolean类型。用于确定是否使用batch模式连接。默认值为on,表示开启batch模式。 fetchsize:Integer类型。用于设置数据库连接所创建statement的默认fetchsize。默认值为0,表示一次获取所有结果。 reWriteBatchedInserts:Boolean类型。批量导入时,该参数设置为on,可将N条插入语句合并为一条:insert into TABLE_NAME values(values1, ..., valuesN), ..., (values1, ..., valuesN);使用该参数时,需设置batchMode=off。 unknownLength:Integer类型,默认为Integer.MAX_VALUE。某些postgresql类型(例如TEXT)没有明确定义的长度,当通过ResultSetMetaData.getColumnDisplaySize和ResultSetMetaData.getPrecision等函数返回关于这些类型的数据时,此参数指定未知长度类型的长度。 defaultRowFetchSize:Integer类型。确定一次fetch在ResultSet中读取的行数。限制每次访问数据库时读取的行数可以避免不必要的内存消耗,从而避免OutOfMemoryException。缺省值是0,这意味着ResultSet中将一次获取所有行。本参数不允许设置为负值。 binaryTransfer:Boolean类型。使用二进制格式发送和接收数据,默认值为“false”。 binaryTransferEnable:String类型。启用二进制传输的类型列表,以逗号分隔。OID编号和名称二选一,例如binaryTransferEnable=INT4_ARRAY,INT8_ARRAY。 比如:OID名称为BLOB,编号为88,可以如下配置: binaryTransferEnable=BLOB 或 binaryTransferEnable=88 binaryTransferDisEnable:String类型。禁用二进制传输的类型列表,以逗号分隔。OID编号和名称二选一。覆盖binaryTransferEnable的设置。 blobMode:String类型。用于设置setBinaryStream(int, InputStream, int)方法为不同类型的数据赋值,设置为on时表示为blob类型数据赋值,设置为off时表示为bytea类型数据赋值,默认为on;setBinaryStream(int, InputStream, long)与setBinaryStream(int, InputStream)用于为bytea数据类型赋值。 socketFactory:String类型。用于创建与服务器socket连接的类的名称。该类必须实现了接口“javax.net.SocketFactory”,并定义无参或单String参数的构造函数。 socketFactoryArg:String类型。此值是上面提供的socketFactory类的构造函数的可选参数,不推荐使用。 receiveBufferSize:Integer类型。该值用于设置连接流上的SO_RCVBUF。 sendBufferSize:Integer类型。该值用于设置连接流上的SO_SNDBUF。 preferQueryMode:String类型。共有4种:"extended", "extendedForPrepared", "extendedCacheEverything", "simple"。用于指定执行查询的模式,默认值为extended。simple模式只发送Q消息,仅支持文本模式,不支持parse与bind;extended模式会使用parse、bind和execute消息;extendedForPrepared模式下只有Prepared Statement对象使用扩展查询,Statement对象只使用简单查询;extendedCacheEverything模式会缓存每个Statement对象所生成的query。 ApplicationType:String类型。共有2种:"not_perfect_sharding_type","perfect_sharding_type"。用于设置是否开启分布式写入和查询,默认值为"not_perfect_sharding_type"。not_perfect_sharding_type模式下开启分布式写入和查询;perfect_sharding_type模式下默认禁止分布式写入和查询,只有在sql文中加入/* multinode */ 才能执行分布式写入和查询。该项设置只有数据库处于gtm free场景的情况下才会有效。 user 数据库用户。 password 数据库用户的密码。 表3 主备版数据库连接参数 参数 描述 url postgresql.jar数据库连接描述符。格式如下: jdbc:postgresql:database jdbc:postgresql://host/database jdbc:postgresql://host:port/database jdbc:postgresql://host:port/database?param1=value1¶m2=value2 jdbc:postgresql://host1:port1,host2:port2/database?param1=value1¶m2=value2 说明: database为要连接的数据库名称。 host为数据库服务器名称或IP地址。 由于安全原因,数据库主节点禁止数据库内部其他节点无认证接入。如果要在数据库内部访问数据库主节点,请将JDBC程序部署在数据库主节点所在机器,host使用"127.0.0.1"。否则可能会出现“FATAL: Forbid remote connection with trust method!”错误。 建议业务系统单独部署在数据库外部,否则可能会影响数据库运行性能。 缺省情况下,连接服务器为localhost。 port为数据库服务器端口。 缺省情况下,会尝试连接到5432端口的database。 param为参数名称,即数据库连接属性。 参数可以配置在URL中,以"?"开始配置,以"="给参数赋值,以"&"作为不同参数的间隔。也可以采用info对象的属性方式进行配置,详细示例会在本节给出。 value为参数值,即数据库连接属性值。 连接时需配置connectTimeout和socketTimeout,推荐配置为2(如果未配置,默认为0,即不会超时)。在DN与客户端出现网络故障时,客户端一直未收到DN侧ACK确认报文,会启动超时重传机制,不断的进行重传。当超时时间达到系统默认的600s后才会报超时错误,这也就会导致RTO时间很高。 info 数据库连接属性(所有属性大小写敏感)。常用的属性如下: PGDBNAME:String类型。表示数据库名称。(URL中无需配置该参数,自动从URL中解析) PGHOST:String类型。主机IP地址。详细示例见下。 PGPORT:Integer类型。主机端口号。详细示例见下。 user:String类型。表示创建连接的数据库用户。 password:String类型。表示数据库用户的密码。 loggerLevel:String类型。目前支持3种级别:OFF、DEBUG、TRACE。设置为OFF关闭日志,设置为DEBUG和TRACE记录的日志信息详细程度不同。 loggerFile:String类型。Logger输出的文件名。需要显示指定日志文件名,若未指定目录则生成在客户端运行程序目录。 allowEncodingChanges:Boolean类型。设置该参数值为“true”进行字符集类型更改,配合characterEncoding=CHARSET设置字符集,二者使用"&"分隔。 currentSchema:String类型。在search-path中指定要设置的schema。 hostRecheckSeconds:Integer类型。JDBC尝试连接主机后会保存主机状态:连接成功或连接失败。在hostRecheckSeconds时间内保持可信,超过则状态失效。缺省值是10秒。 ssl:Boolean类型。以SSL方式连接。 ssl=true可支持NonValidatingFactory通道和使用证书的方式: 1、NonValidatingFactory通道需要配置用户名和密码。 2、配置客户端证书、密钥、根证书,将SSL设置为true。 sslmode:String类型。SSL认证方式。取值范围为:require、verify-ca、verify-full。 require只尝试SSL连接,如果存在CA文件,则应设置成verify-ca的方式验证。 verify-ca只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书。 verify-full只尝试SSL连接,并且验证服务器是否具有由可信任的证书机构签发的证书,以及验证服务器主机名是否与证书中的一致。 sslcert:String类型。提供证书文件的完整路径。客户端和服务端证书的类型为End Entity。 sslkey:String类型。提供密钥文件的完整路径。使用时将客户端证书转换为DER格式: openssl pkcs8 -topk8 -outform DER -in client.key -out client.key.pk8 -nocrypt sslrootcert:String类型。SSL根证书的文件名。根证书的类型为CA。 sslpassword:String类型。提供给ConsoleCallbackHandler使用。 sslpasswordcallback:String类型。SSL密码提供者的类名。缺省值:org.postgresql.ssl.jdbc4.LibPQFactory.ConsoleCallbackHandler。 sslfactory:String类型。提供的值是SSLSocketFactory在建立SSL连接时用的类名。 sslfactoryarg:String类型。此值是上面提供的sslfactory类的构造函数的可选参数(不推荐使用)。 sslhostnameverifier:String类型。主机名验证程序的类名。接口实现javax.net.ssl.HostnameVerifier,默认使用org.postgresql.ssl.PGjdbcHostnameVerifier。 loginTimeout:Integer类型。指建立数据库连接的等待时间。超时时间单位为秒。 connectTimeout:Integer类型。用于连接服务器操作的超时值。如果连接到服务器花费的时间超过此值,则连接断开。超时时间单位为秒,值为0时表示已禁用,timeout不发生。 socketTimeout:Integer类型。用于socket读取操作的超时值。如果从服务器读取所花费的时间超过此值,则连接关闭。超时时间单位为秒,值为0时表示已禁用,timeout不发生。 cancelSignalTimeout:Integer类型。发送取消消息本身可能会阻塞,此属性控制用于取消命令的“connect超时”和“socket超时”。超时时间单位为秒,默认值为10秒。 tcpKeepAlive:Boolean类型。启用或禁用TCP保活探测功能。默认为false。 logUnclosedConnections:Boolean类型。客户端可能由于未调用Connection对象的close()方法而泄漏Connection对象。最终这些对象将被垃圾回收,并且调用finalize()方法。如果调用者自己忽略了此操作,该方法将关闭Connection。 assumeMinServerVersion:String类型。客户端会发送请求进行float精度设置。该参数设置要连接的服务器版本,如assumeMinServerVersion=9.0,可以在建立时减少相关包的发送。 ApplicationName:String类型。设置正在使用连接的JDBC驱动的名称。通过在数据库主节点上查询pg_stat_activity表可以看到正在连接的客户端信息,JDBC驱动名称显示在application_name列。缺省值为PostgreSQL JDBC Driver。 connectionExtraInfo:Boolean类型。表示驱动是否上报当前驱动的部署路径、进程属主用户到数据库。 取值范围:true或false,默认值为false。设置connectionExtraInfo为true,JDBC驱动会将当前驱动的部署路径、进程属主用户上报到数据库中,记录在connection_info参数里;同时可以在PG_STAT_ACTIVITY中查询到。 autosave:String类型。共有3种:"always", "never", "conservative"。如果查询失败,指定驱动程序应该执行的操作。在autosave=always模式下,JDBC驱动程序在每次查询之前设置一个保存点,并在失败时回滚到该保存点。在autosave=never模式(默认)下,无保存点。在autosave=conservative模式下,每次查询都会设置保存点,但是只会在“statement XXX无效”等情况下回滚并重试。 protocolVersion:Integer类型。连接协议版本号,目前仅支持3。注意:设置该参数时将采用md5加密方式,需要同步修改数据库的加密方式:gs_guc set -N all -I all -c "password_encryption_type=1" ,重启数据库生效后需要创建用md5方式加密密码的用户。同时修改pg_hba.conf,将客户端连接方式修改为md5。用新建用户进行登录(不推荐)。 说明: MD5加密算法安全性低,存在安全风险,建议使用更安全的加密算法。 prepareThreshold:Integer类型。控制parse语句何时发送。默认值是5。第一次parse一个SQL比较慢,后面再parse就会比较快,因为有缓存了。如果一个会话连续多次执行同一个SQL,在达到prepareThreshold次数以上时,JDBC将不再对这个SQL发送parse命令。 preparedStatementCacheQueries:Integer类型。确定每个连接中缓存的查询数,默认情况下是256。若在prepareStatement()调用中使用超过256个不同的查询,则最近最少使用的查询缓存将被丢弃。0表示禁用缓存。 preparedStatementCacheSizeMiB:Integer类型。确定每个连接可缓存的最大值(以兆字节为单位),默认情况下是5。若缓存了超过5MB的查询,则最近最少使用的查询缓存将被丢弃。0表示禁用缓存。 databaseMetadataCacheFields:Integer类型。默认值是65536。指定每个连接可缓存的最大值。“0”表示禁用缓存。 databaseMetadataCacheFieldsMiB:Integer类型。默认值是5。每个连接可缓存的最大值,单位是MB。“0”表示禁用缓存。 stringtype:String类型,可选字段为:false, "unspecified", "varchar"。设置通过setString()方法使用的PreparedStatement参数的类型,如果stringtype设置为VARCHAR(默认值),则这些参数将作为varchar参数发送给服务器。若stringtype设置为unspecified,则参数将作为untyped值发送到服务器,服务器将尝试推断适当的类型。 batchMode:Boolean类型。用于确定是否使用batch模式连接。默认值为on,表示开启batch模式。 fetchsize:Integer类型。用于设置数据库连接所创建statement的默认fetchsize。默认值为0,表示一次获取所有结果。 reWriteBatchedInserts:Boolean类型。批量导入时,该参数设置为on,可将N条插入语句合并为一条:insert into TABLE_NAME values(values1, ..., valuesN), ..., (values1, ..., valuesN);使用该参数时,需设置batchMode=off。 unknownLength:Integer类型,默认为Integer.MAX_VALUE。某些postgresql类型(例如TEXT)没有明确定义的长度,当通过ResultSetMetaData.getColumnDisplaySize和ResultSetMetaData.getPrecision等函数返回关于这些类型的数据时,此参数指定未知长度类型的长度。 defaultRowFetchSize:Integer类型。确定一次fetch在ResultSet中读取的行数。限制每次访问数据库时读取的行数可以避免不必要的内存消耗,从而避免OutOfMemoryException。缺省值是0,这意味着ResultSet中将一次获取所有行。没有负数。 binaryTransfer:Boolean类型。使用二进制格式发送和接收数据,默认值为“false”。 binaryTransferEnable:String类型。启用二进制传输的类型列表,以逗号分隔。OID编号和名称二选一,例如binaryTransferEnable=Integer4_ARRAY,Integer8_ARRAY。 比如:OID名称为BLOB,编号为88,可以如下配置: binaryTransferEnable=BLOB 或 binaryTransferEnable=88 binaryTransferDisEnable:String类型。禁用二进制传输的类型列表,以逗号分隔。OID编号和名称二选一。覆盖binaryTransferEnable的设置。 blobMode:String类型。用于设置setBinaryStream方法为不同类型的数据赋值,设置为on时表示为blob类型数据赋值,设置为off时表示为bytea类型数据赋值,默认为on。 socketFactory:String类型。用于创建与服务器socket连接的类的名称。该类必须实现了接口“javax.net.SocketFactory”,并定义无参或单String参数的构造函数。 socketFactoryArg:String类型。此值是上面提供的socketFactory类的构造函数的可选参数,不推荐使用。 receiveBufferSize:Integer类型。该值用于设置连接流上的SO_RCVBUF。 sendBufferSize:Integer类型。该值用于设置连接流上的SO_SNDBUF。 preferQueryMode:String类型。共有4种:"extended", "extendedForPrepared", "extendedCacheEverything", "simple"。用于指定执行查询的模式,simple模式会excute,不parse和bind;extended模式会bind和excute;extendedForPrepared模式为prepared statement扩展使用;extendedCacheEverything模式会缓存每个statement。 targetServerType: String类型。该参数识别主备数据节点是通过查询URL连接串中,数据节点是否允许写操作来实现的,默认为"any"。共有四种:"any","master","slave","preferSlave": master则尝试连接到URL连接串中的主节点,如果找不到就抛出异常。 slave则尝试连接到URL连接串中的备节点,如果找不到就抛出异常。 preferSlave则尝试连接到URL连接串中的备数据节点(如果有可用的话),否则连接到主数据节点。 any则尝试连接URL连接串中的任何一个数据节点。 user 数据库用户。 password 数据库用户的密码。
  • 实例连接方式介绍 GaussDB提供使用内网、公网和数据管理服务(Data Admin Service,简称DAS)的连接方式。 表1 GaussDB连接方式 连接方式 IP地址 使用场景 说明 DAS连接 无需使用IP地址 通过华为云数据管理服务(Data Admin Service,简称DAS)这款可视化的专业数据库管理工具,可获得执行SQL、高级数据库管理、智能化运维等功能,做到易用、安全、智能地管理数据库。GaussDB默认开通DAS连接权限。 易用、安全、高级、智能。 内网连接 内网IP地址 系统默认提供内网IP地址。 当应用部署在弹性云服务器上,且该弹性云服务器与GaussDB实例处于同一区域,同一VPC时,建议单独使用内网IP连接弹性云服务器与GaussDB实例。 安全性高,可实现GaussDB的较好性能。 推荐使用内网连接。 公网连接 弹性公网IP 不能通过内网IP地址访问GaussDB实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与GaussDB实例。 降低安全性。 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的GaussDB实例在同一子网,使用内网连接。 父主题: 使用客户端连接实例
  • 会前添加文档和设置上传权限 主持人在iOS客户端预约会议时可添加文档,并设置与会者上传文档的权限。 在客户端首页点击“预约会议”打开预约会议页面。 点击“石墨文档”右侧“添加文档”可本地上传或新建文档。 默认开启“允许成员上传文档”,可点击右侧按钮取消。 取消后与会者在预约会议详情、会议中无法添加文档。 与会者可在预约会议详情查看或添加文档。 在客户端首页会议列表找到已预约的会议。 点击该会议进入会议详情页面,在“石墨文档”可查看已上传的文档。 当主持人设置了“允许成员上传文档”,与会者可点击“添加文档”添加会议文档。
  • 云录制 当企业有录播空间资源时,主持人可点击会控栏中的“录制”开启或停止云录制会议。 录制的视频画面取决于主持人设置的多画面,而不是普通与会者在软终端的会中视图。当主持人设置了多画面,则录制的画面与主持人设置的多画面保持一致。 会议结束后,会议创建者可登录华为云会议管理平台,在“我的录制”中下载云录制文件。 下载完成后,可以在“player”文件夹中双击“play.bat”直接播放视频,也可以从“player\offlineweb\assets\video”目录中获取视频源文件。
  • 会议安全设置 主持人可进行会议安全设置。 加入会议后,点击会控栏中的“安全”。 根据需要勾选开启对应的会议安全设置项。 锁定会议:开启后仅可通过主持人邀请入会,未被邀请人员无法主动入会。取消勾选可关闭锁定。 允许解除静音:开启后,主持人全场静音时,与会者可自己解除静音,可取消勾选。 允许聊天:开启后与会者可进行会中聊天。取消勾选可关闭与会者聊天功能。 允许共享:开启后与会者可在会中发起共享。取消勾选可关闭与会者共享功能。 允许改名:开启后与会者可在会中为自己更改名字。取消勾选可关闭与会者改名功能。
  • 功能列表 请使用Google Chrome 73及以上版本、Safari 13及以上版本桌面端浏览器入会,入会流程请参考从桌面端Web入会。 入会后,主要会议控制操作如下表所示。 会议控制操作 主持人 与会者 开启/关闭麦克风 ✔ ✔ 开启/关闭视频 ✔ ✔ 开启/关闭扬声器 ✔ ✔ 选择音视频设备 ✔ ✔ 锁定会议 ✔ - 允许与会者解除静音 ✔ - 锁定聊天 ✔ - 锁定共享 ✔ - 查看与会者列表 ✔ ✔ 全场静音/取消全场静音 ✔ - 改名 ✔ ✔ 举手 - ✔ 共享屏幕、程序、网页 ✔ ✔ 聊天 ✔ ✔ 分享入会信息 ✔ ✔ 云录制 ✔ - 投票 发起投票、结束投票、公示投票、管理投票 参与投票 反馈 ✔ ✔ 切换画面视图 ✔ ✔ 选看/取消选看 ✔ ✔ 广播 ✔ - 结束会议 ✔ - 父主题: 会议控制
  • 下载登录 请点击下载,下载并安装桌面版客户端。 推荐您从官方渠道下载客户端,如果您是从非官方渠道获取的客户端安装文件,请您确认软件合法性。 Windows软件合法性校验方法如下: 右键“xxx.exe”安装文件。 选择“属性”。 在上方导航栏选择“数字签名”页签。 在签名列表中,查看签名者姓名是否为“Huawei Technologies xxxx”,如果不是,请不要使用该软件包安装客户端。 Mac软件合法性在安装时系统会进行校验,请留意系统提示,如果不合法,请您不要继续安装客户端。 您已经从企业的会议管理员那儿获取用户帐号了吗?快使用用户帐号登录客户端,开启会议之旅。 桌面客户端定位基于电脑使用,在会议室中不支持接入鹅颈麦克风、音箱等外设使用,该方式将会影响会议的音效质量。 桌面客户端仅支持使用电脑内置摄像头或外接标准USB摄像头,不支持连接视频采集卡(视频矩阵)。
  • 云模式各版本支持域名配额 云模式各版本支持的域名个数说明如下: 入门版/标准版:支持防护10个域名,限制仅支持1个一级域名。 专业版:支持防护50个域名,限制仅支持5个一级域名。 铂金版:支持防护80个域名,限制仅支持8个一级域名。 限制仅支持1个一级域名是指支持1个一级域名和与一级域名相关的子域名或泛域名。即您可以添加1个一级域名example.com和最多9个与其相关的子域名或泛域名,例如www.example.com,*.example.com,mail.example.com,user.pay.example.com,x.y.z.example.com。这些域名(包括一级域名example.com)将各占用一个域名包中的域名配额。 同一个域名对应不同端口视为不同的域名,例如www.example.com:8080和www.example.com:8081视为两个不同的域名,将占用两个不同的域名配额。
  • 操作步骤 登录管理控制台。 进入防护策略入口,如图1所示。 图1 防护策略入口 在目标策略名称所在行的“操作”列,单击“添加防护域名”。 在“防护域名”下拉框中选择适用于该策略的防护域名。 一个防护域名有且只能配置一条防护策略。 一条防护策略可以适用于多个防护域名。 若想删除已绑定域名的防护策略,请先将此防护策略绑定的所有域名添加到其它防护策略,再在目标策略名称所在行的“操作”列中,单击“删除”。 图2 添加策略适用的防护域名 单击“确认”。
  • 防护数据文件字段参数说明 字段 字段说明 示例 action 防护事件的防护动作。 block attack 攻击的类型。 SQL Injection body 攻击者的请求实体内容。 - cookie 攻击者的Cookie。 - headers 攻击者的消息头。 - host 防护的网站域名或IP。 www.example.com id 标识防护事件的ID。 02-11-16-20201121060347-feb42002 payload 攻击者对防护网站造成伤害的组成部分。 python-requests/2.20.1 payload_location 攻击者对防护网站造成伤害的位置或访问URL的次数。 user-agent policyid 标识防护策略ID。 d5580c8f6cd4403ebbf85892d4bbb8e4 request_line 攻击者的请求行。 GET / rule 防护事件对应的规则编号。 81066 sip Web访问者的公网IP地址(攻击者IP地址)。 - time 防护事件发生的时间。 2020/11/21 0:20:44 url 防护域名的URL。 /
  • 配置示例二:防护同一端口的不同源站IP的非标准端口业务 在“防护域名端口”下拉框中,选择需要防护的非标准端口。 “对外协议”全部选择“HTTP”或者“HTTPS”。HTTP协议的非标准端口的配置如图9,HTTPS协议的非标准端口的配置如图10。 图9 除80端口的其他HTTP协议端口的业务 图10 除443端口的其他HTTPS协议端口的业务 “对外协议”选择“HTTPS”时,需要配置证书。 访问网站时,域名后必须加上配置的非标准端口,否则会报404错误。假如配置的非标准端口为8080,则在浏览器中直接输入的地址为“http://www.example.com:8080”。
  • 对外协议与源站协议配置规则 根据您的业务场景的不同,WAF提供灵活的协议类型配置。假设您的网站为www.example.com,WAF可配置如下四种访问模式: HTTP访问模式,如图13所示。 图13 HTTP协议访问模式 此种配置表示用户只能通过http://www.example.com访问网站,如果用户通过https://www.example.com访问网站,会收到302跳转响应,浏览器跳转到http://www.example.com。 HTTPS访问模式,客户端协议全部配置为HTTPS时,当使用HTTP协议访问服务器时,会强制跳转为HTTPS协议,如图14所示。 图14 HTTPS协议访问强制跳转模式 用户直接通过https://www.example.com访问网站,网站返回正常内容。 用户通过http://www.example.com访问网站,用户会收到302跳转响应,浏览器跳转到https://www.example.com。 HTTP/HTTPS分别转发模式,如图15所示。 图15 HTTP/HTTPS分别转发模式 用户通过http://www.example.com访问网站,网站返回正常内容,没有跳转,网站内容不加密传输。 用户通过https://www.example.com访问网站,网站返回正常内容,没有跳转,网站内容加密传输。 使用WAF做HTTPS卸载模式,如图16所示。 图16 使用WAF做HTTPS卸载模式 用户通过https://www.example.com访问网站,但是WAF到源站依然使用HTTP协议。
  • 导入新证书 当“对外协议”设置为“HTTPS”时,可以导入新证书。 单击“导入新证书”,打开“导入新证书”对话框。然后输入“证书名称”,并将证书内容和私钥内容粘贴到对应的文本框中,如图6所示。 图6 导入新证书 Web应用防火墙将对私钥进行加密保存,保障证书私钥的安全性。 WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考表4在本地将证书转换为PEM格式,再上传。 表4 证书转换命令 格式类型 转换方式 CER/CRT 将“cert.crt”证书文件直接重命名为“cert.pem”。 PFX 提取私钥命令,以“cert.pfx”转换为“key.pem”为例。 openssl pkcs12 -in cert.pfx -nocerts -out key.pem -nodes 提取证书命令,以“cert.pfx”转换为“cert.pem”为例。 openssl pkcs12 -in cert.pfx -nokeys -out cert.pem P7B 证书转换,以“cert.p7b”转换为“cert.cer”为例。 openssl pkcs7 -print_certs -in cert.p7b -out cert.cer 将“cert.cer”证书文件直接重命名为“cert.pem”。 DER 提取私钥命令,以“privatekey.der”转换为“privatekey.pem”为例。 openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem 提取证书命令,以“cert.cer”转换为“cert.pem”为例。 openssl x509 -inform der -in cert.cer -out cert.pem 执行openssl命令前,请确保本地已安装openssl。 如果本地为Windows操作系统,请进入“命令提示符”对话框后,再执行证书转换命令。 单击“确认”,上传证书。
  • 配置示例一:防护同一端口的不同源站IP的标准端口业务 在“防护域名端口”下拉框中,选择“标准端口”。 “对外协议”统一选择“HTTP”或者“HTTPS”。HTTP标准端口防护配置如图7所示,HTTPS标准端口防护配置如图8所示。 图7 80端口业务 图8 443端口业务 “对外协议”选择“HTTPS”时,需要配置证书。 访问网站时,域名后可以不加端口号进行访问。例如,在浏览器中直接输入“http://www.example.com”访问网站。
  • 相关操作 规则添加成功后,默认的“规则状态”为“已开启”,若您暂时不想使该策略生效,可在目标策略所在行的“操作”列,单击“关闭”,也可以批量勾选多条策略规则,单击列表上方的“批量关闭”,同时关闭多条策略规则。 当您需要修改添加的规则时,在待修改的规则所在行,单击“修改”,修改规则,也可以批量勾选不同策略下的多条规则,单击列表上方的“批量修改”,同时修改多条策略规则。 当您需要删除添加的规则时,在待删除的规则所在行,单击“删除”,删除规则,也可以批量勾选多条策略规则,单击列表上方的“批量删除”,同时删除多条策略规则。 当您需要批量开启策略规则时,批量勾选多条策略规则,单击列表上方的“批量开启”,同时开启多条策略规则。
  • 应用场景 网站/新媒体内容安全检测 内容合法合规性检测 国家政策要求各地方机构要认真落实意识形态工作和网络内容安全工作责任制。为响应国家政策,华为云内容安全检测服务可对网站/新媒体内容进行合法合规检测,主要对文本、图片、视频、语音进行检测和识别是否包含色情、涉政、暴力、惊悚、不宜广告、垃圾信息、不良内容等,有效帮助您降低内容风险。 内容准确性检测 对网站/主流新媒体平台的内容进行准确性检测,主要对文本、图片、视频、语音进行表述规范审核,如对错别字、生僻字、词法表述、语法表述等内容进行检测审核。
  • 创建项目并授权 创建项目 进入管理控制台页面,单击右上方的用户名,在下拉列表中选择“统一身份认证”,进入统一身份认证服务页面。选择左侧导航中的“项目”,单击“创建项目”,选择区域并输入项目名称。 授权 通过为用户组授予权限(包括资源集和操作集),实现项目和用户组的关联。将用户加入到用户组,使用户具有用户组中的权限,从而精确地控制用户所能访问的项目,以及所能操作的资源。具体步骤如下: 在“用户组”页面,选择目标用户组,单击操作列的“权限配置”,进入“用户组权限”区域。在新创建的项目所在行,单击“设置策略”,给对应项目选择需要的云资源权限集。 在“用户”页面,选择目标用户,单击操作列的“修改”,进入修改用户页面。在“所属用户组”区域为用户添加用户组,完成授权过程。
共100000条