华为云用户手册

  • 执行数据导入 在 GaussDB (DWS)数据库中,创建一个名为product_info的表,用于存储从OBS导入的数据。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 DROP TABLE IF EXISTS product_info; CREATE TABLE product_info ( product_price integer not null, product_id char(30) not null, product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) WITH ( orientation = column, compression=middle ) DISTRIBUTE BY hash (product_id); 执行INSERT命令,通过外表product_info_ext将OBS上的数据导入到目标表product_info中。 1 INSERT INTO product_info SELECT * FROM product_info_ext; 执行SELECT命令查询目标表product_info,查看从OBS导入到GaussDB(DWS)中的数据。 1 SELECT * FROM product_info; 查询结果的结尾将显示以下信息: (20 rows) 对表product_info执行VACUUM FULL。 1 VACUUM FULL product_info; 更新表product_info的统计信息。 1 ANALYZE product_info;
  • SSL连接配置(可选配置) 当实例开启了SSL,通过SSL连接实例时,请使用以下内容替换基于Bean方式配置中的LettuceClientConfiguration构造方法clientConfiguration()。Redis实例支持SSL的情况请参考配置Redis SSL 数据加密 传输。 单机、主备、读写分离、Proxy集群实例配置 @Bean public LettuceClientConfiguration clientConfiguration() { SocketOptions socketOptions = SocketOptions.builder() .keepAlive(SocketOptions.KeepAliveOptions.builder() // 两次 keepalive 间的时间间隔 .idle(Duration.ofSeconds(TCP_KEEPALIVE_TIME)) // 连接空闲多久开始 keepalive .interval(Duration.ofSeconds(TCP_KEEPALIVE_TIME/3)) // keepalive 几次之后断开连接 .count(3) // 是否开启保活连接 .enable() .build()) .tcpUserTimeout(SocketOptions.TcpUserTimeoutOptions.builder() // 解决服务端rst导致的长时间超时问题 .tcpUserTimeout(Duration.ofSeconds(TCP_USER_TIMEOUT)) .enable() .build()) // tcp 连接超时设置 .connectTimeout(Duration.ofMillis(redisConnectTimeout)) .build(); SslOptions sslOptions = SslOptions.builder() .trustManager(new File(certificationPath)) .build(); ClientOptions clientOptions = ClientOptions.builder() .sslOptions(sslOptions) .autoReconnect(true) .pingBeforeActivateConnection(true) .cancelCommandsOnReconnectFailure(false) .disconnectedBehavior(ClientOptions.DisconnectedBehavior.ACCEPT_COMMANDS) .socketOptions(socketOptions) .build(); LettuceClientConfiguration clientConfiguration = LettuceClientConfiguration.builder() .commandTimeout(Duration.ofMillis(redisReadTimeout)) .readFrom(ReadFrom.MASTER) .clientOptions(clientOptions) .useSsl() .build(); return clientConfiguration; } Cluster集群实例配置 @Bean public LettuceClientConfiguration clientConfiguration() { SocketOptions socketOptions = SocketOptions.builder() .keepAlive(SocketOptions.KeepAliveOptions.builder() // 两次 keepalive 间的时间间隔 .idle(Duration.ofSeconds(TCP_KEEPALIVE_TIME)) // 连接空闲多久开始 keepalive .interval(Duration.ofSeconds(TCP_KEEPALIVE_TIME/3)) // keepalive 几次之后断开连接 .count(3) // 是否开启保活连接 .enable() .build()) .tcpUserTimeout(SocketOptions.TcpUserTimeoutOptions.builder() // 解决服务端rst导致的长时间超时问题 .tcpUserTimeout(Duration.ofSeconds(TCP_USER_TIMEOUT)) .enable() .build()) // tcp 连接超时设置 .connectTimeout(Duration.ofMillis(redisConnectTimeout)) .build(); SslOptions sslOptions = SslOptions.builder() .trustManager(new File(certificationPath)) .build(); ClusterTopologyRefreshOptions topologyRefreshOptions = ClusterTopologyRefreshOptions.builder() .enableAllAdaptiveRefreshTriggers() .enablePeriodicRefresh(Duration.ofMillis(redisClusterTopologyRefreshPeriodMillis)) .build(); ClusterClientOptions clientOptions = ClusterClientOptions.builder() .sslOptions(sslOptions) .autoReconnect(true) .pingBeforeActivateConnection(true) .cancelCommandsOnReconnectFailure(false) .disconnectedBehavior(ClientOptions.DisconnectedBehavior.ACCEPT_COMMANDS) .socketOptions(socketOptions) .topologyRefreshOptions(topologyRefreshOptions) .build(); LettuceClientConfiguration clientConfiguration = LettuceClientConfiguration.builder() .commandTimeout(Duration.ofMillis(redisReadTimeout)) .readFrom(ReadFrom.MASTER) .clientOptions(clientOptions) .useSsl() .build(); return clientConfiguration; }
  • D CS 实例配置建议 连接池化 因lettuce底层采用基于netty的NIO模式,和redis server进行通信,不同于jedis的BIO模式。底层采用长连接 + 队列的组合模式,借助TCP顺序发、顺序收的特性,来实现同时处理多请求发送和多响应接收,单条连接可支撑的QPS在3K~5K不等,线上系统建议不要超过3K。lettuce本身不支持池化,且在springboot中默认不开启池化,如需开启池化,需通过手动引入commons-pool2组件,并关闭LettuceConnectionFactory.shareNativeConnection(共享连接)来实现池化。 因每条lettuce连接默认需要配置两个线程池-I/O thread pools、computation thread pool,用于支撑IO事件读取和异步event处理,如配置成连接池形式使用,每个连接都将会创建两个线程池,对内存资源的占用偏高。鉴于lettuce的底层模型实现,及单连接突出的处理能力,不建议通过池化的方式使用lettuce。 拓扑刷新 在连接cluster类型实例中,lettuce会在初始化时,向配置的节点列表随机发送cluster nodes来获取集群slot的分布信息。如后续cluster扩/缩容、主备切换等,会导致集群拓扑结构发生变化,lettuce默认是不感知的,需手动开启主动感知拓扑结构变化,如下: 基于application.properties配置 # 开启自适应拓扑刷新 spring.redis.lettuce.cluster.refresh.adaptive=true # 开启每10s定时刷新拓扑结构 spring.redis.lettuce.cluster.refresh.period=10S 基于API配置 ClusterTopologyRefreshOptions topologyRefreshOptions = ClusterTopologyRefreshOptions.builder() .enableAllAdaptiveRefreshTriggers() .enablePeriodicRefresh(Duration.ofMillis(redisClusterTopologyRefreshPeriodMillis)) .build(); ClusterClientOptions clientOptions = ClusterClientOptions.builder() ... ... .topologyRefreshOptions(topologyRefreshOptions) .build(); 爆炸半径 因lettuce底层采用的是单长连接 + 请求队列的组合模式,一旦遇到网络抖动/闪断,或连接失活,将影响所有请求,尤其是在连接失活场景中,将尝试tcp重传,直至重传超时关闭连接,待连接重建后才能恢复。在重传期间请求队列会不断堆积请求,上层业务非常容易出现批量超时,甚至在部分操作系统内核中的重传超时配置过长,致使业务系统长时间处于不可用状态。因此,不推荐使用lettuce组件,建议用jedis组件替换。
  • Web CLI禁用的命令 以下列出了通过Web CLI连接Redis实例时禁用的命令。 表3 通过Web CLI禁用的命令1 Generic (Key) Server Transactions Cluster MIGRATE SLAVEOF UNWATCH CLUSTER MEET WAIT SHUTDOWN REPLICAOF CLUSTER FLUSHSLOTS DUMP DEBUG相关类 DISCARD CLUSTER ADDSLOTS RESTORE CONFIG SET EXEC CLUSTER DELSLOTS WAITAOF CONFIG REWRITE MULTI CLUSTER SETSLOT - CONFIG RESETSTAT WATCH CLUSTER BUMPEPOCH - SAVE - CLUSTER SAVECONFIG - BGSAVE - CLUSTER FORGET - BGREWRITEAOF - CLUSTER REPLICATE - COMMAND - CLUSTER COUNT-FAILURE-REPORTS - KEYS - CLUSTER FAILOVER - MONITOR - CLUSTER SET-CONFIG-EPOCH - SYNC - CLUSTER RESET - PSYNC - - - ACL - - - MODULE - - - COMMAND COUNT - - - COMMAND DOCS - - - COMMAND GETKEYS - - - COMMAND GETKEYSANDFLAGS - - - COMMAND INFO - - - COMMAND LIST - - - RESTORE-ASKING - - 表4 通过Web CLI禁用的命令2 List Connection Sorted Set Pub/Sub BLPOP SELECT BZPOPMAX PSUBSCRIBE BRPOP - BZPOPMIN SUBSCRIBE BLMOVE - BZMPOP - BRPOPLPUSH - ZREM - BLMPOP - ZUNION -
  • Web CLI支持的命令 以下列出了通过Web CLI连接Redis实例时支持的命令。各个命令的具体详细语法请前往Redis官方网站查看,例如您想了解SCAN命令的使用,可在Redis官方网站中搜索框中输入“SCAN”查询详细介绍。 表1 Web CLI支持命令清单1 Generic (Key) String List Set Sorted Set Server DEL APPEND RPUSH SADD ZADD FLUSHALL OBJECT BITCOUNT RPUSHX SCARD ZCARD FLUSHDB EXISTS BITOP BRPOPLRUSH SDIFF ZCOUNT DBSIZE EXPIRE BITPOS LINDEX SDIFFSTORE ZINCRBY TIME MOVE DECR LINSERT SINTER ZRANGE INFO PERSIST DECRBY LLEN SINTERSTORE ZRANGEBYSCORE CLIENT KILL PTTL GET LPOP SISMEMBER ZRANK CLIENT LIST RANDOMKEY GETRANGE LPUSHX SMEMBERS ZREMRANGEBYRANK CLIENT GETNAME RENAME GETSET LRANGE SMOVE ZREMRANGEBYCORE CLIENT SETNAME RENAMENX INCR LREM SPOP ZREVRANGE CONFIG GET SCAN INCRBY LSET SRANDMEMBER ZREVRANGEBYSCORE SLOW LOG SORT INCRBYFLOAT LTRIM SREM ZREVRANK ROLE TTL MGET RPOP SUNION ZSCORE SWAPDB TYPE MSET RPOPLPU SUNIONSTORE ZUNIONSTORE MEMORY - MSETNX RPOPLPUSH SSCAN ZINTERSTORE - - PSETEX - - ZSCAN - - SET - - ZRANGEBYLEX - - SETBIT - - ZLEXCOUNT - - SETEX - - - - - SETNX - - - - - SETRANGE - - - - - STRLEN - - - - - BITFIELD - - - - 表2 Web CLI支持命令清单2 Hash HyperLoglog Connection Scripting Geo Pub/Sub HDEL PFADD AUTH EVAL GEOADD UNSUBSCRIBE HEXISTS PFCOUNT ECHO EVALSHA GEOHASH PUBLISH HGET PFMERGE PING SCRIPT EXISTS GEOPOS PUBSUB HGETALL - QUIT SCRIPT FLUSH GEODIST PUNSUBSCRIBE HINCRBY - - SCRIPT KILL GEORADIUS - HINCRBYFLOAT - - SCRIPT LOAD GEORADIUSBYMEMBER - HKEYS - - - - - HMGET - - - - - HMSET - - - - - HSET - - - - - HSETNX - - - - - HVALS - - - - - HSCAN - - - - - HSTRLEN - - - - -
  • 标签命名规则 每个标签由一对键值对(Key-Value)组成。 每个私有CA或私有证书最多可以添加20个标签。 对于每个资源,每个标签键(Key)都必须是唯一的,每个标签键(Key)只能有一个值(Value)。 标签共由两部分组成:“标签键”和“标签值”,其中,“标签键”和“标签值”的命名规则如表 标签参数说明所示。 如您的组织已经设定 云证书管理服务 的相关标签策略,则需按照标签策略规则为私有CA或私有证书添加标签。标签如果不符合标签策略的规则,则可能会导致标签添加失败,请联系组织管理员了解标签策略详情。 表1 标签参数说明 参数 规则 样例 标签键 必填。 对于同一个私有CA或私有证书,标签键唯一。 长度不超过128个字符。 首尾不能包含空格。 不能以_sys_开头。 可以包含以下字符: 中文 英文 数字 空格 特殊字符 “_”、“.”、“:”、“=”、“+”、“-”、“@” cost 标签值 可以为空。 长度不超过255个字符。 首尾不能包含空格。 可以包含以下字符: 中文 英文 数字 空格 特殊字符 “_”、“.”、“:”、“=”、“+”、“-”、“@” 100
  • 标签策略简介 标签策略是策略的一种类型,可帮助您在组织账号中对资源添加的标签进行标准化管理。标签策略对未添加标签的资源或未在标签策略中定义的标签不会生效。 例如:标签策略规定为某资源添加的标签A,需要遵循标签策略中定义的大小写规则和标签值。如果标签A使用的大小写、标签值不符合标签策略,则资源将会被标记为不合规。 标签策略有如下两种应用方式: 1. 事后检查 —— 资源标签如果违反标签策略,则在资源在合规性结果中显示为不合规。 2. 事前拦截 —— 标签策略开启强制执行后,则会阻止在指定的资源类型上完成不合规的标记操作。
  • 效果验证 部署成功后,可在浏览器的地址栏中输入“https:// 域名 ”,按“Enter”。 如果浏览器地址栏显示安全锁标识,则说明证书安装成功。 如果网站仍然出现不安全提示,请参见为什么部署了SSL证书后,网站仍然出现不安全提示?。 如果通过域名访问网站时,无法打开网站,请参见为什么部署了SSL证书后,通过域名访问网站时,无法打开网站?进行处理。 如果仍未解决或出现其他问题,华为云市场提供SSL证书配置优化服务,专业工程师一对一服务,请直接单击一对一咨询进行购买,购买服务后,联系工程师进行处理。
  • 步骤二:配置Resin 修改配置文件前,请将配置文件进行备份,并建议先在测试环境中进行部署,配置无误后,再在现网环境进行配置,避免出现配置错误导致服务不能正常启动等问题,影响您的业务。 (可选)安装Resin。 如果已安装,则请跳过该步骤。 登录Resin官网并根据您的系统下载不同的应用程序包。 本步骤以下载Windows版本的Resin-4.0.38版本为例进行说明。 解压下载的Resin包。 进入Resin-4.0.38根目录并找到resin.exe文件。 运行resin.exe文件,运行期间将出现如图1所示的命令提示符窗口。 图1 提示窗口 运行完成后,启动浏览器,在Web地址栏中输入Resin默认地址“http://127.0.0.1:8080”,并按“Enter”。 当界面显示如图2所示时,则表示安装成功。 图2 登录Resin 修改配置文件。 在Resin安装目录下的“Resin.properties”配置文件(由于Resin版本的不同,配置文件也可能为“resin.xml”文件)中,找到如下参数: # specifies the --server in the config file # home_server : app-0 # Set HTTP and HTTPS bind address # http_address : * # Set HTTP and HTTPS ports. # Use overrides for individual server control, for example: app-0.http : 8081 app.http : 8080 # app.https : 8443 web.http : 8080 # web.https : 8443 将“app.https”和“web.https”前的注释符“#”去掉,并将“8443端”口修改为“443”。修改后,如下所示: “app.https”、“web.https”:指定服务器要使用的端口号,建议配置为“443”。 # specifies the --server in the config file # home_server : app-0 # Set HTTP and HTTPS bind address # http_address : * # Set HTTP and HTTPS ports. # Use overrides for individual server control, for example: app-0.http : 8081 app.http : 8080 app.https : 443 web.http : 8080 web.https : 443 找到如下参数,并将“jsse_keystore_tye”、“jsse_keystore_file”和“jsse_keystore_password”三行前的注释符“#”去掉。 # JSSE certificate configuration # Keys are typically stored in the resin configuration directory. jsse_keystore_tye : jks jsse_keystore_file : cert/server.jks jsse_keystore_password : 证书密码 修改证书相关配置参数,具体配置请参见表1。 # JSSE certificate configuration # Keys are typically stored in the resin configuration directory. jsse_keystore_tye : jks jsse_keystore_file : cert/server.jks jsse_keystore_password : 证书密码 表1 参数说明 参数 参数说明 jsse_keystore_tye 设定Keystore文件的类型,一般都设为jks jsse_keystore_file “server.jks”文件存放路径,绝对路径和相对路径均可。示例:cert/server.jks jsse_keystore_password “server.jks”的密码。填写“keystorePass.txt”文件内的密码。 须知: 如果密码中包含“&”,请将其替换成“&”,以免配置不成功。 示例: 如果keystorePass="Ix6&APWgcHf72DMu",则修改为keystorePass="Ix6&APWgcHf72DMu"。 修改完成后保存配置文件。 重启Resin。
  • 约束条件 证书安装前,务必在安装私有证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用HTTPS。 为了使客户端信任服务器证书,需要将服务器证书的根CA加入到客户端受信任的根证书颁发机构中,详细操作请参见信任根CA。 如果一个域名有多个服务器,则每一个服务器上都要部署。 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即申请的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
  • 效果验证 部署成功后,可在浏览器的地址栏中输入“https://域名”,按“Enter”。 如果浏览器地址栏显示安全锁标识,则说明证书安装成功。 如果网站仍然出现不安全提示,请参见为什么部署了SSL证书后,网站仍然出现不安全提示?。 如果通过域名访问网站时,无法打开网站,请参见为什么部署了SSL证书后,通过域名访问网站时,无法打开网站?进行处理。 如果仍未解决或出现其他问题,华为云市场提供SSL证书配置优化服务,专业工程师一对一服务,请直接单击一对一咨询进行购买,购买服务后,联系工程师进行处理。
  • 步骤二:配置Weblogic 登录Weblogic服务器管理控制台。 单击页面左上方“Lock & Edit”,解锁配置。 在“Domain Configurations”中,单击“Servers”。 图1 服务器 在服务器列表中,选择您需要配置服务器证书的Server,进入服务器的设置页面。 图2 目标服务器 修改HTTPS端口。 在服务器的配置页面,选择“General”页签,配置是否启用HTTP和HTTPS,以及访问端口号。 请勾选“Listen SSL Port Enabled”,并修改端口号为“443”。 图3 端口 配置认证方式和密钥。 在服务器的配置页面,选择“Keystores”页签,配置认证方式。 图4 认证方式 服务器身份认证请选择“Custom identity and Java Standard Trust”。 双向认证请选择“Custom Identity and Custom Trust”。 在“Identity”区域中,配置密钥。 配置密钥库文件server.jks所保存的服务器上的路径,并填写密钥库文件密码。 图5 密钥 Custom Identity Keystore:请填写jks文件保存路径。示例:C:\bea\server.jks Custom Identity Keystore Type:文件格式请填写“jks”。 Custom Identity Keystore Passphrase:请填在证书密码,即“keystorePass.txt”中的密码。 Confirm Custom Identity Keystore Passphrase:请再次填写证书密码。 在单向认证中,需要配置JRE默认信任库文件cacerts。 Cacerts默认密码为changeit。 图6 信任库文件 Java Standard Trust Keystore Passphrase:输入默认密码changeit。 Confirm Java Standard Trust Keystore Passphrase:再次输入默认密码。 配置服务器证书私钥别名。 在服务器的配置页面,选择“SSL”页签,配置以下参数: 图7 私钥 Identity and Trust Locations:请选择为“Keystores”。 Private KeyAlias:配置私钥库中的私钥别名信息。私钥别名可以使用keystool -list命令查看。 Private Key Passphrase:输入私钥保护密码。通常私钥保护密码和keystore文件保护密码相同。 Confirm Private Key Passphrase:再次输入私钥保护密码。 设置完成后,单击“Active Changes”,保存所有修改。 图8 保存配置 (可选)如果系统提示需要重启Weblogic,则需要重启后才能使配置生效。如图9所示,则无需重启。 图9 提示信息
  • 约束条件 证书安装前,务必在安装私有证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用HTTPS。 为了使客户端信任服务器证书,需要将服务器证书的根CA加入到客户端受信任的根证书颁发机构中,详细操作请参见信任根CA。 如果一个域名有多个服务器,则每一个服务器上都要部署。 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即申请的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
  • 约束条件 证书安装前,务必在安装私有证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用HTTPS。 为了使客户端信任服务器证书,需要将服务器证书的根CA加入到客户端受信任的根证书颁发机构中,详细操作请参见信任根CA。 如果一个域名有多个服务器,则每一个服务器上都要部署。 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即申请的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
  • 步骤二:配置IIS 安装IIS,请参照IIS相关安装指导进行安装。 打开IIS管理控制台,双击“服务器证书”,如图1所示。 图1 服务器证书 在弹出的窗口中,单击“导入”,如图2所示。 图2 导入 导入“server.pfx”证书文件,单击“确定”。 “密码”配置框内需要输入“keystorePass.txt”文件内的密码。 图3 导入pfx证书文件 鼠标右键单击目标站点(这里以默认站点为例),选择“编辑绑定”,如图4所示。 图4 编辑绑定 在弹出的窗口中,单击“添加”,并填写以下信息。 图5 添加网站绑定 类型:选择“https”。 端口:保持默认的“443”端口即可。 SSL证书:选择4导入的证书。 填写完成后,单击“确定”。
  • 效果验证 部署成功后,可在浏览器的地址栏中输入“https://域名”,按“Enter”。 如果浏览器地址栏显示安全锁标识,则说明证书安装成功。 如果网站仍然出现不安全提示,请参见为什么部署了SSL证书后,网站仍然出现不安全提示?。 如果通过域名访问网站时,无法打开网站,请参见为什么部署了SSL证书后,通过域名访问网站时,无法打开网站?进行处理。 如果仍未解决或出现其他问题,华为云市场提供SSL证书配置优化服务,专业工程师一对一服务,请直接单击一对一咨询进行购买,购买服务后,联系工程师进行处理。
  • 效果验证 部署成功后,可在浏览器的地址栏中输入“https://域名”,按“Enter”。 如果浏览器地址栏显示安全锁标识,则说明证书安装成功。 如果网站仍然出现不安全提示,请参见为什么部署了SSL证书后,网站仍然出现不安全提示?。 如果通过域名访问网站时,无法打开网站,请参见为什么部署了SSL证书后,通过域名访问网站时,无法打开网站?进行处理。 如果仍未解决或出现其他问题,华为云市场提供SSL证书配置优化服务,专业工程师一对一服务,请直接单击一对一咨询进行购买,购买服务后,联系工程师进行处理。
  • 约束条件 证书安装前,务必在安装私有证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用HTTPS。 为了使客户端信任服务器证书,需要将服务器证书的根CA加入到客户端受信任的根证书颁发机构中,详细操作请参见信任根CA。 如果一个域名有多个服务器,则每一个服务器上都要部署。 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即申请的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
  • 步骤一:获取文件 在本地解压已下载的证书文件。 获得证书文件“ca.crt”、“server.crt”和私钥文件“server.key”。 “ca.crt”文件包括一段中级CA证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”。 “server.crt”文件包括一段服务器证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”。 “server.key”文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
  • 步骤三:修改配置文件 修改配置文件前,请将配置文件进行备份,并建议先在测试环境中进行部署,配置无误后,再在现网环境进行配置,避免出现配置错误导致服务不能正常启动等问题,影响您的业务。 打开Apache根目录下“conf.d/ssl.conf”文件。 配置证书绑定的域名。 找到并修改如下参数: ServerName www.example.com:443 完整配置如下(以“www.domain.com”为例): ServerName www.domain.com:443 #用户服务器的域名 配置证书公钥。 找到并修改如下参数: SSLCertificateFile "${SRVROOT}/conf/server.crt" 设置证书公钥文件“server.crt”文件的路径,且路径中不能包含中文字符,例如“cert/server.crt”。 完整配置如下: SSLCertificateFile "cert/server.crt" 配置证书私钥。 找到并修改如下参数: SSLCertificateKeyFile "${SRVROOT}/conf/server.key" 设置为“server.key”文件的路径,且路径中不能包含中文字符,例如“cert/server.key”。 完整配置如下: SSLCertificateKeyFile "cert/server.key" 配置证书链。 找到并修改如下参数: #SSLCertificateChainFile "${SRVROOT}/conf/server-ca.crt" 删除行首的配置语句注释符号“#”,并设置为“ca.crt”文件的路径,且路径中不能包含中文字符,例如“cert/ca.crt”。 完整配置如下: SSLCertificateChainFile "cert/ca.crt" 修改后,保存“ssl.conf”文件并退出编辑。
  • 步骤三:修改配置文件 修改配置文件前,请将配置文件进行备份,并建议先在测试环境中进行部署,配置无误后,再在现网环境进行配置,避免出现配置错误导致服务不能正常启动等问题,影响您的业务。 配置Nginx中“conf”目录下的“nginx.conf”文件。 找到如下配置内容: #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} 删除行首的配置语句注释符号#。 server { listen 443 ssl; server_name localhost; ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } } 修改如下参数,具体参数修改说明如表1所示。 ssl_certificate cert/server.crt; ssl_certificate_key cert/server.key; 完整的配置如下,其余参数根据实际情况修改: server { listen 443 ssl; #配置HTTPS的默认访问端口为443。如果在此处未配置HTTPS的默认访问端口,可能会导致Nginx无法启动。 server_name www.domain.com; #修改为您证书绑定的域名。 ssl_certificate cert/server.crt; #替换成您的证书文件的路径。 ssl_certificate_key cert/server.key; #替换成您的私钥文件的路径。 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; #加密套件。 ssl_prefer_server_ciphers on; location / { root html; #站点目录。 index index.html index.htm; #添加属性。 } } 不要直接复制所有配置,参数中“ssl”开头的属性与证书配置有直接关系,其它参数请根据自己的实际情况修改。 表1 参数说明 参数 参数说明 listen SSL访问端口号,设置为“443”。 配置HTTPS的默认访问端口为443。如果未配置HTTPS的默认访问端口,可能会导致Nginx无法启动。 server_name 证书绑定的域名。示例:www.domain.com ssl_certificate 证书文件“server.crt”。 设置为“server.crt”文件的路径,且路径中不能包含中文字符,例如“cert/server.crt”。 ssl_certificate_key 私钥文件“server.key”。 设置为“server.key”的路径,且路径中不能包含中文字符,例如“cert/server.key”。 修改完成后保存配置文件。
  • 效果验证 部署成功后,可在浏览器的地址栏中输入“https://域名”,按“Enter”。 如果浏览器地址栏显示安全锁标识,则说明证书安装成功。 如果网站仍然出现不安全提示,请参见为什么部署了SSL证书后,网站仍然出现不安全提示?。 如果通过域名访问网站时,无法打开网站,请参见为什么部署了SSL证书后,通过域名访问网站时,无法打开网站?进行处理。 如果仍未解决或出现其他问题,华为云市场提供SSL证书配置优化服务,专业工程师一对一服务,请直接单击一对一咨询进行购买,购买服务后,联系工程师进行处理。
  • 步骤一:获取文件 在本地解压已下载的证书文件。 获得证书文件“server.crt”和私钥文件“server.key”。 “server.crt”文件包括两段证书代码“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,分别为服务器证书和中级CA。 “server.key”文件包括一段私钥代码“-----BEGIN RSA PRIVATE KEY-----”和“-----END RSA PRIVATE KEY-----”。
  • 约束条件 证书安装前,务必在安装私有证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用HTTPS。 为了使客户端信任服务器证书,需要将服务器证书的根CA加入到客户端受信任的根证书颁发机构中,详细操作请参见信任根CA。 如果一个域名有多个服务器,则每一个服务器上都要部署。 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即申请的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
  • 约束条件 证书安装前,务必在安装私有证书的服务器上开启“443”端口,同时在安全组增加“443”端口,避免安装后仍然无法启用HTTPS。 为了使客户端信任服务器证书,需要将服务器证书的根CA加入到客户端受信任的根证书颁发机构中,详细操作请参见信任根CA。 如果一个域名有多个服务器,则每一个服务器上都要部署。 待安装证书的服务器上需要运行的域名,必须与证书的域名一一对应,即申请的是哪个域名的证书,则用于哪个域名。否则安装部署后,浏览器将提示不安全。
  • 效果验证 部署成功后,可在浏览器的地址栏中输入“https://域名”,按“Enter”。 如果浏览器地址栏显示安全锁标识,则说明证书安装成功。 如果网站仍然出现不安全提示,请参见为什么部署了SSL证书后,网站仍然出现不安全提示?。 如果通过域名访问网站时,无法打开网站,请参见为什么部署了SSL证书后,通过域名访问网站时,无法打开网站?进行处理。 如果仍未解决或出现其他问题,华为云市场提供SSL证书配置优化服务,专业工程师一对一服务,请直接单击一对一咨询进行购买,购买服务后,联系工程师进行处理。
  • PCA自定义策略样例 示例1:授权用户创建CA { "Version": "1.1", "Statement": [ { "Action": [ "pca:ca:create ], "Effect": "Allow" } ] } 示例2:拒绝用户删除证书 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予“PCA FullAccess”的系统策略,但不希望用户拥有“PCA FullAccess”中定义的删除证书权限,您可以创建一条拒绝删除证书的自定义策略,然后同时将“PCA FullAccess”和拒绝策略授予用户,根据Deny优先原则,则用户可以对证书执行除了删除证书外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Action": [ "pca:ca:delete" ], "Effect": "Deny" } ] }
  • 示例流程 图1 给用户授权PCA权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予私有证书管理服务管理员权限“PCA FullAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择 云证书管理 服务,如果未提示权限不足,表示“PCA FullAccess”已生效。
  • PCA支持 云审计 的操作列表 云审计服务记录私有证书管理相关的操作事件,如表1所示。 表1 云审计服务支持的PCA操作列表 操作名称 资源类型 事件名称 创建CA CA createCertificateAuthority 激活CA CA generateCertificateAuthority 导出CA CA exportCertificateAuthority 恢复CA CA restoreCertificateAuthority 启用CA CA enableCertificateAuthority 禁用CA CA disableCertificateAuthority 删除CA CA deleteCertificateAuthority 申请证书 endEntityCert createCertificate 删除证书 endEntityCert deleteCertificate 吊销证书 endEntityCert revokeCertificate 父主题: PCA关键操作审计管理
  • 约束条件 如果资源所有者与您属于同一组织,且启用“启用与组织共享资源”功能,将自动获得共享资源的访问权限,无需接受邀请。 如果资源所有者与您不属于同一组织,或者属于同一组织但未启用“启用与组织共享资源”功能,将收到加入资源共享实例的邀请。 资源共享实例的邀请默认保留7天,如果在到期前未接受邀请,系统会自动拒绝邀请,如还需使用共享资源,请再次创建共享实例以生成新的邀请。 若需要启用“启用与组织共享资源”功能,具体操作请参见启用与组织共享资源。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全