• 关于 Protection 的搜索结果

问题

客户发信息退信

guoping311 2019-12-01 18:52:38 76 浏览量 回答数 1

问题

Windowsserver 2008 非正版,无法激活,怎么解?

dreamdoo 2019-12-01 21:56:04 7518 浏览量 回答数 3

问题

KR^X- Comprehensive- Kernel-Protection-Against-Just-In-Time-Code-Reuse

福利达人 2019-12-01 21:11:56 466 浏览量 回答数 0

新用户福利专场,云服务器ECS低至96.9元/年

新用户福利专场,云服务器ECS低至96.9元/年

回答

三个层次 An example on setting document security: $objPHPExcel->getSecurity()->setLockWindows(true); $objPHPExcel->getSecurity()->setLockStructure(true); $objPHPExcel->getSecurity()->setWorkbookPassword("PHPExcel"); An example on setting worksheet security: $objPHPExcel->getActiveSheet()->getProtection()->setPassword('PHPExcel'); $objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); $objPHPExcel->getActiveSheet()->getProtection()->setSort(true); $objPHPExcel->getActiveSheet()->getProtection()->setInsertRows(true); $objPHPExcel->getActiveSheet()->getProtection()->setFormatCells(true); An example on setting cell security: $objPHPExcel->getActiveSheet()->getStyle('B1')->getProtection()->setLocked( PHPExcel_Style_Protection::PROTECTION_UNPROTECTED );

小旋风柴进 2019-12-02 01:59:54 0 浏览量 回答数 0

问题

未激活的操作系统

jjiio 2019-12-01 18:53:46 399 浏览量 回答数 1

回答

域名所有者:YinSi BaoHu Yi KaiQi (Hidden by Whois Privacy Protection Service)注册期限:2012年03月17日 至 2021年03月17日应该还在吧,你确定你没有登录错账户?

51干警网 2019-12-01 23:36:13 0 浏览量 回答数 0

问题

云服务器适合安装那款杀毒软件

gjd 2019-12-01 21:28:56 5715 浏览量 回答数 0

回答

我们使用Azure ATS作为关键存储库来实现此方法以及支持负载平衡方案的方法。 配置看起来像这样: string storageUrl = "https://[your account here].blob.core.windows.net"; string sasToken = "?sv=20XX-XX-XX&ss=x&srt=xxx&sp=xxxx&..."; string containerName = "data-protection-XXXX-XXXX-container"; string blobName = "data-protection-XXXX-XXXX-blob"; // Create the new Storage URI Uri storageUri = new Uri($"{storageUrl}{sasToken}"); //Create the blob client object. CloudBlobClient blobClient = new CloudBlobClient(storageUri); //Get a reference to a container. Create it if it does not exist. CloudBlobContainer container = blobClient.GetContainerReference(containerName); // (NOTE: internal library, do not use in your code) AsyncHelper.Guarded<bool>(() => { return container.CreateIfNotExistsAsync(); }); services.AddDataProtection() .SetApplicationName("[your application name here]") .PersistKeysToAzureBlobStorage(container, blobName) .SetDefaultKeyLifetime(new TimeSpan(365 * 10, 0, 0, 0, 0)); 注意:配置数据保护以提高安全性时,请查看加密选项。

祖安文状元 2020-01-05 19:04:51 0 浏览量 回答数 0

回答

我们使用Azure ATS作为关键存储库来实现此方法以及支持负载平衡方案的方法。 配置看起来像这样: string storageUrl = "https://[your account here].blob.core.windows.net"; string sasToken = "?sv=20XX-XX-XX&ss=x&srt=xxx&sp=xxxx&..."; string containerName = "data-protection-XXXX-XXXX-container"; string blobName = "data-protection-XXXX-XXXX-blob"; // Create the new Storage URI Uri storageUri = new Uri($"{storageUrl}{sasToken}"); //Create the blob client object. CloudBlobClient blobClient = new CloudBlobClient(storageUri); //Get a reference to a container. Create it if it does not exist. CloudBlobContainer container = blobClient.GetContainerReference(containerName); // (NOTE: internal library, do not use in your code) AsyncHelper.Guarded<bool>(() => { return container.CreateIfNotExistsAsync(); }); services.AddDataProtection() .SetApplicationName("[your application name here]") .PersistKeysToAzureBlobStorage(container, blobName) .SetDefaultKeyLifetime(new TimeSpan(365 * 10, 0, 0, 0, 0)); 注意:配置数据保护以提高安全性时,请查看加密选项。

祖安文状元 2020-01-05 19:05:33 0 浏览量 回答数 0

问题

关于Qt交叉编译的问题

杨冬芳 2019-12-01 20:20:48 1373 浏览量 回答数 1

回答

Windows 实例系统默认配置激活脚本,正常情况下,服务器能够与 KMS 服务器通讯来激活系统,但有时会由于一些原因无法激活。下面列举激活失败的一些常见情况以及解决方案。 注意:注册表修改需要对 Windows 操作系统有一定了解,为了避免注册表误操作带来的系统问题或数据丢失,修改注册表前,务必对系统盘和数据盘创建快照。 Software Protection 异常导致激活失败 网络异常导致激活失败 服务器时钟不同步导致激活失败 磁盘空间满了导致激活失败 激活码不正确导致激活失败 请排查。

51干警网 2019-12-02 00:47:14 0 浏览量 回答数 0

问题

centos 7关于/etc/selinux/config这个配置文件的疑问

a123456678 2019-12-01 20:07:43 2507 浏览量 回答数 2

回答

解决方案 远程连接并登录到 Windows 实例。 右击计算机图标,单击管理。 在服务器管理器页面,选择配置>服务。找到并双击 Software Protection。  在弹出的窗口选择启动。 说明:如果 Software Protection 服务启动异常或者启动的时服务丢失,按照以下方法来重建 Software Protection 服务。 运行   regedit,打开注册表,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sppsvc,右键选择 导出,备份当前文件到 C:\sppsvc_bak.reg。 在一台相同版本的正常 Windows 实例上采用上述方法,将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\sppsvc 导出为 sppsvc_good.reg。 将上一步骤中得到的 sppsvc_good.reg 文件拷贝到问题机器,然后双击此文件。当系统提示您是否确认导入注册表时,单击 是。之后会有提示说明已经成功导入注册表。启动服务后再次尝试激活。 如果失败,请将双击之前备份的 C:\sppsvc_bak.reg 文件重新导回到系统。 网络异常导致激活失败 问题现象 在激活时,桌面右下角出现 “Windows 不是正版”的激活提示。然后根据微软自助正版激活教程进行手动激活的时候,出现错误提示:0xC004F074 软件授权服务报告无法激活计算机,密钥管理服务(KMS)不可用。 问题分析 出现这个报错一般都是由于服务器到 KMS 之间的网络存在问题,导致服务器无法跟 KMS 进行通讯。网络存在问题可能是由于 Windows 实例中系统防火墙、IP 安全策略,或其它网络安全管理软件阻断了服务器与 ECS 激活服务器(KMS.aliyun-inc.com TCP 1688 端口)之间的通信导致的。 解决方案 查看系统防火墙是否对 KMS.aliyun-inc.com TCP 1688 端口做了拦截。如果您的防火墙内设置了拦截 TCP 1688 端口的出入站规则,您需要右键选择删除该规则。查看出入站规则,参考设置 Windows 实例远程连接防火墙中的添加端口规则章节。 查看是否配置了 IP 安全策略,阻断了对 KMS.aliyun-inc.com 解析出的 IP 的访问。运行 ping KMS.aliyun-inc.com解析 IP,然后查看 IP 安全策略中是否有阻止该 IP 的策略。如果有相关策略,对该策略进行删除。查看 IP 安全策略,参考 服务器 ping 外网提示一般故障处理方法中 查看是否设置了 IP 安全策略章节。 查看是否有其它安全软件对 KMS.aliyun-inc.com TCP 1688 端口的访问做了拦截。 执行 route print命令查看服务器内部的路由是否正常,如果缺失内网路由需要手动加上。 上面 4 项都排查了以后,在实例运行 telnet KMS.aliyun-inc.com 1688,成功后对实例进行激活。 服务器时钟不同步导致激活失败 问题分析 服务器时钟需要跟 KMS 服务器的时钟一致,如果时钟出现偏差也会导致激活失败。 解决方案 用户可以在系统桌面右下角确认当前系统时间是否正常。如果确认系统时间明显有很大偏差,用户可以在系统桌面右下角手工修改系统时间配置,也可以通过下面命令同步时钟,同步完成以后再执行激活。 net start W32Time w32tm /resync 磁盘空间满了导致激活失败 问题现象 尝试激活的时候,提示“找不到产品”。 问题分析 出现这个报错可能是服务器的系统盘空间满了,导致没有足够的空间用于激活。 解决方案 清理 C 盘释放磁盘空间,再次重新手动激活即可。 激活码不正确导致激活失败 问题现象 激活的时候报错,错误代码为“C004F015”。 问题分析 这种情况可能是由于系统使用的激活码跟系统的版本不匹配,一般都是人为激活修改导致的。 解决方案 查看微软官方信息。根据操作系统的实际版本来查询激活码。 执行slmgr /ipk <setup key>替换匹配的激活码,然后执行slmgr -ato命令激活系统。 说明:本文仅供用户使用 ECS Windows 时参考,文中引用的微软官方链接,版权归属微软。请注意文章适用的操作系统范围,以及微软 Windows 产品迭代或者文档未及时更新可能带来的问题,阿里云官方不对引用的微软官方链接内容负责。 望采纳,谢谢🙏

元芳啊 2019-12-02 00:12:47 0 浏览量 回答数 0

回答

Re求应该要设置的完整正确安全设置方法 楼主您好, 一般来说,没有绝对的安全。 通常情况下,遵循“手册”来设置就可以了。定期备份。正确使用阿里云提供的“云盾”。 如root的密码设置要足够复杂,仅开放必须的通讯端口。 祝您好运。 ------------------------- 回2楼烽仔的帖子 您好, 一般用户,不必做额外的安全设置。密码复杂一点,不开启不必要的服务,估计就可以了。 如CentOS有一些文档,您可以参考一下:http://wiki.centos.org/zh/HowTos/OS_Protection 还有应用程序也有一些文档可以参考,如Discuz!的:http://faq.comsenz.com/library/safe/security/security_config.htm 祝您好运。

dongshan8 2019-12-02 01:45:11 0 浏览量 回答数 0

问题

如何启用安全浏览选项?硒与VBA

kun坤 2019-12-26 10:50:35 0 浏览量 回答数 0

回答

事实证明,我KeyStore.getInstance和我所遇到的问题KeyGenerator.getInstance。其中一个正在使用KeyStore.getDefaultType(),而另一个正在使用AndroidKeyStore。更改此设置解决了这个unsupported protection parameter问题。 此外,在修复该问题之后,我遇到了更新保护参数的问题。 事实证明,代码的以下部分不正确 SecretKey k = keyGenerator.generateKey(); keyStore.setEntry( KEY_ALIAS, new KeyStore.SecretKeyEntry(k), getProtectionParameter() ); 由于generateKey()已将密钥插入密钥库,因此它将尝试两次将密钥插入密钥库。 完整的工作代码如下所示 @RequiresApi(23) private static SecretKey getSecretKey() throws Exception { KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore"); keyStore.load(null, null); final KeyStore.SecretKeyEntry secretKeyEntry = (KeyStore.SecretKeyEntry) keyStore .getEntry(KEY_ALIAS, null); if (secretKeyEntry != null) { return secretKeyEntry.getSecretKey(); } final KeyGenerator keyGenerator = KeyGenerator .getInstance(KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore"); final KeyGenParameterSpec keyGenParameterSpec = new KeyGenParameterSpec.Builder(KEY_ALIAS, KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT) .setBlockModes(KeyProperties.BLOCK_MODE_GCM) .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE) .build(); keyGenerator.init(keyGenParameterSpec); SecretKey k = keyGenerator.generateKey(); return getSecretKey(); } 回答来源:Stack Overflow

montos 2020-03-27 21:47:55 0 浏览量 回答数 0

回答

回 楼主(酷235百科) 的帖子 您好!可以参考一下: 步骤一:检测更新服务 按“Windows+R”输入“services.msc”回车,确认Background Intelligent Transfer Service 服务,Cryptographic服务,Software Protection服务,Windows Update服务,对应的“状态”栏都处于“已启动”。如果发现以上某服务被“禁用”,点击对应的服务,并右击,选择“启动”。更改后,再次查看,确保以上服务的状态为“已启动”。 步骤二:更换网络环境,更改网络设置 1. 点击开始,在搜索框内输入网络和共享中心,按回车。 2. 点击左侧的更改适配器设置,右击本地链接,选择属性。(如果您使用的无线连接,请右击无线网络连接选择属性。) 3. 双击Internet协议版本4 (TCP/IPv4),勾选使用以下DNS服务器地址。 4. 按如下设置:首选DNS服务器:4.2.2.1;备用DNS服务器:4.2.2.2 。 步骤三:重命名SoftwareDistribution文件夹 1. 点击开始,搜索栏输入“cmd”右键点击“cmd.exe”选择以管理员身份运行,输入“net stop wuauserv”回车。 2. 打开C:\Windows右键点击SoftwareDistribution选择重命名。 3. 完成重命名后再管理员运行cmd.exe后输入“net start wuauserv”回车。 步骤四:干净启动 1. 按“Windows+R”输入 "msconfig",然后按回车键。(提示: 如果有弹出框弹出,请点击UAC窗口中的继续按钮。) 2. 点击“服务”标签卡,选择“隐藏所有的微软服务”,然后点击全部禁用。(如果可选) 3. 点击“启动”标签卡, 然后点击全部禁用并确定。当提示您重新启动计算机时,单击“重新启动”。 重新启动后再来尝试是否能成功更新 如果还是有问题,可以提交工单反馈给工程师进一步查看原因。 ------------------------- 回 2楼(酷235百科) 的帖子 您好!您可以提交工单反馈给工程师协助查看原因。

阿里云支持与服务 2019-12-02 00:08:25 0 浏览量 回答数 0

问题

Flask开发中加入Login_user后打开网页报错?报错

爱吃鱼的程序员 2020-06-09 15:50:46 0 浏览量 回答数 1

回答

回1楼ivmmff的帖子 ------------------------- Rexcache无法缓存,已经正常安装 php.ini [xcache-common]extension = xcache.so[xcache.admin]xcache.admin.enable_auth = Onxcache.admin.user = "admin"xcache.admin.pass = "21232f297a57a5a743894a0e4a801fc3"[xcache]xcache.shm_scheme = "mmap"xcache.size = 160Mxcache.count = 1xcache.slots = 8Kxcache.ttl = 0xcache.gc_interval = 0xcache.var_size = 4Mxcache.var_count = 1xcache.var_slots = 8Kxcache.var_ttl = 0xcache.var_maxttl = 0xcache.var_gc_interval = 300xcache.var_namespace_mode = 0xcache.var_namespace = ""xcache.readonly_protection = Offxcache.mmap_path = "/www/wdlinux/tmp/xcache"xcache.coredump_directory = ""xcache.coredump_type = 0xcache.disable_on_crash = Offxcache.experimental = Offxcache.cacher = Onxcache.stat = Onxcache.optimizer = Off[xcache.coverager]xcache.coverager = Offxcache.coverager_autostart = Onxcache.coveragedump_directory = "" ------------------------- 回5楼ivmmff的帖子 引用第5楼ivmmff于2015-08-22 10:31发表的 回 4楼(幸福漂流瓶) 的帖子 : 如果重启 PHP 也不行,那么其实是生效了的。 Xcache 的缓存需要被网站软件调用才会缓存就和memcached一样。 不需要调用呀,我另外一个CES都正常,登陆Xcache后台就可以看到缓存文件了,只是PHP版本不一样是5.2的 ------------------------- Re回5楼ivmmff的帖子 引用第7楼ivmmff于2015-08-22 11:11发表的 回 6楼(幸福漂流瓶) 的帖子 : 可是,我看看你这是正常的。 “XCache 并未对您的 PHP 网页起到加速作用. 设置 xcache.cacher = On” 你已经设置了。 对呀,我就是奇怪了,确实是没有缓存效果, 于是我本地重新配置了一样的环境,php版本也是一样的,结果是正常的可以缓存PHP文件,安装方法都是一样,就是不知道为什么这台就不行,实在是找不到原因 ------------------------- Rexcache无法缓存,已经正常安装 我在本地虚拟机重新配置了一台 一样的环境,版本也一样,安装方法也一样,这台就正常,然后对比了Php.ini文件都是一样的 另外一台就不正常了

幸福漂流瓶 2019-12-02 03:12:49 0 浏览量 回答数 0

问题

如何在阿里云ECS上搭建Microsoft SharePoint 2016

boxti 2019-12-01 21:45:22 1162 浏览量 回答数 0

问题

DRDS 错误代码如何解决?

猫饭先生 2019-12-01 21:21:21 7993 浏览量 回答数 0

回答

创建一个新的集群实例,并新建指定数量的节点。 具体的 API 描述,参见创建Kubernetes集群和创建Managed Kubernetes集群。 API请求响应 请求格式 aliyun cs POST /clusters --header "Content-Type=application/json" --body "$(cat create.json)" 参数说明: --header需要指定 Content-Type 为 application/json。 --body 是要发送给服务端的 body 内容,可以从本地文件读取,需要是有效的 JSON 格式。create.json 的内容如下所示。 Kubernetes集群 { "disable_rollback": "失败是否回滚", "name": "集群名称", "timeout_mins": "集群创建超时时间", "cluster_type": "集群类型,Kubernetes", "region_id": "地域", "vpcid": "VPC ID", "master_vswitch_ids": "master节点交换机ID。填写3个vswitchid, 尽量是分别在3个不同az, 保证高可用", "master_instance_types": "master节点实例类型。填写3个实例规格", "master_count": "master实例个数,支持3|5", "container_cidr": "容器POD CIDR", "service_cidr": "服务CIDR", "ssh_flags": "是否开放公网SSH登录", "cloud_monitor_flags": "是否安装云监控插件", "login_password": "节点SSH登录密码,和key_pair二选一", "key_pair": "keypair名称,和login_password 二选一", "master_instance_charge_type": "Master实例付费类型,PostPaid|PrePaid", "master_period_unit": "包年包月单位,Month,Year,只有在PrePaid下生效", "master_period": "包年包月时长,只有在PrePaid下生效", "master_auto_renew": "Master节点是否自动续费", "master_auto_renew_period": "Master节点续费周期", "master_system_disk_category": "Master系统盘类型", "master_system_disk_size": "Master节点系统盘大小", "master_data_disk(已弃用)": "Master节点是否挂载数据盘", "master_data_disks": "Master节点数据盘配置", "master_system_disk_snapshot_policy_id": "Master节点系统盘快照策略ID", "worker_instance_charge_type": "Worker节点付费类型PrePaid|PostPaid", "worker_period_unit": "包年包月单位,Month,Year,只有在PrePaid下生效", "worker_period": "包年包月时长,只有在PrePaid下生效", "worker_auto_renew": "Worker节点自动续费true|false", "worker_auto_renew_period": "Worker节点续费周期", "worker_instance_types": "Worker实例规格多实例规格参数", "worker_vswitch_ids": "一台或多台虚拟交换机 ID,N 的取值范围为 [1, 5]", "worker_system_disk_category": "Worker系统盘类型", "worker_system_disk_size": "Worker节点系统盘大小", "worker_data_disk(已弃用)": "Worker节点是否挂载数据盘", "worker_data_disks": "Worker节点数据盘配置", "worker_system_disk_snapshot_policy_id": "Worker节点系统盘快照策略ID", "num_of_nodes": "Worker节点数", "snat_entry": "是否配置SNATEntry", "endpoint_public_access": "是否公网暴露集群endpoint", "cpu_policy": "static|none", "node_port_range": "节点端口范围,默认30000-65535", "proxy_mode": "网络模式, 可选值iptables|ipvs", "addons": "选装addon, 数组格式对象", "tags": "给集群打tag标签, 数组格式对象", "security_group_id": "安全组ID", "auto_snapshot_policy_id": "自动快照策略ID", "taints": "给节点添加taint, 数组格式对象", "deletion_protection":"是否开启集群删除保护,防止通过控制台或api误删除集群", "os_type":"运行pod的主机的操作系统类型,例如:linux,Windows等", "platform":"运行pod的主机的平台架构", "runtime":"容器运行时,默认为docker", } 托管Kubernetes集群 { "disable_rollback": "失败是否回滚", "name": "集群名称", "timeout_mins": "集群创建超时时间", "cluster_type": "集群类型,ManagedKubernetes", "region_id": "地域", "vpcid": "VPC ID", "vswitch_ids": "一台或多台虚拟交换机 ID,N 的取值范围为 [1,3]", "container_cidr": "容器POD CIDR。", "service_cidr": "服务CIDR", "cloud_monitor_flags":"是否安装云监控插件", "login_password": "节点SSH登录密码,和key_pair二选一", "key_pair":"keypair名称,和login_password 二选一", "worker_instance_charge_type":"Worker节点付费类型PrePaid|PostPaid", "worker_period_unit":"包年包月单位,Month,Year,只有在PrePaid下生效", "worker_period":"包年包月时长,只有在PrePaid下生效", "worker_auto_renew":"Worker节点自动续费true|false", "worker_auto_renew_period":"Worker节点续费周期", "worker_instance_types": "Worker实例规格多实例规格参数 ", "worker_system_disk_category": "Worker系统盘类型", "worker_system_disk_size": "Worker节点系统盘大小", "worker_data_disk":"是否挂载数据盘 true|false", "worker_data_disks":"Worker节点数据盘配置", "num_of_nodes": "Worker节点数", "snat_entry": "是否配置SNATEntry", "endpoint_public_access":"是否公网暴露集群endpoint", "proxy_mode": "网络模式, 可选值iptables|ipvs", "addons": "选装addon, 数组格式对象", "tags": "给集群打tag标签, 数组格式对象", "security_group_id": "安全组ID", "taints": "给节点添加taint, 数组格式对象", "cpu_policy":"cpu的策略,static|none", "runtime":"容器的运行时环境,一般为docker", "platform":"运行pod的主机的平台架构", "os_type":"运行pod的主机的操作系统类型,例如:linux,Windows...", "node_cidr_mask":"节点网络的网络ID的位数", "kubernetes_version":"kubernetes集群的版本,默认最新版本", "deletion_protection":"是否开启集群删除保护,防止通过控制台或api误删除集群" } Serverless Kubernetes集群 { "cluster_type": "Ask", "name": "集群名称", "region_id": "地域", "zoneid": "可用区", "nat_gateway": "true", //是否创建NAT网关 "private_zone": "true", //是否开启privateZone用于服务发现 "vpc_id": "VPC ID", //不填则自动创建专有网络VPC "tags": "给集群打tag标签, 数组格式对象", "vswitch_id": "交换机ID" } 响应结果 { "cluster_id": "c61cf530524474386a7ab5a1c192****", "request_id": "348D4C9C-9105-4A1B-A86E-B58F0F875575", "task_id": "T-5ad724ab94a2b109e8000004" }

1934890530796658 2020-03-31 21:34:35 0 浏览量 回答数 0

回答

调用CreateCluster创建一个新的Managed Kubernetes集群实例,并创建指定数量的节点。 请求信息 请求行RequestLine POST /clusters HTTP/1.1 特有请求头 RequestHead 无,请参考公共请求头部。 请求体 RequestBody 说明 创建集群时,请求参数需要正确组合,否则会导致集群创建失败。在容器服务控制台创建集群界面,提供了生成集群创建OpenAPI参数功能,可以为您提供准确的参数组合。请参见生成 OpenAPI 参数。 { "disable_rollback": "失败是否回滚", "name": "集群名称", "timeout_mins": "集群创建超时时间", "cluster_type": "集群类型,ManagedKubernetes", "region_id": "地域", "vpcid": "VPC ID", "vswitch_ids": "一台或多台虚拟交换机 ID,N 的取值范围为 [1,3]", "container_cidr": "容器POD CIDR。", "service_cidr": "服务CIDR", "cloud_monitor_flags":"是否安装云监控插件", "login_password": "节点SSH登录密码,和key_pair二选一", "key_pair":"keypair名称,和login_password 二选一", "worker_instance_charge_type":"Worker节点付费类型PrePaid|PostPaid", "worker_period_unit":"包年包月单位,Month,Year,只有在PrePaid下生效", "worker_period":"包年包月时长,只有在PrePaid下生效", "worker_auto_renew":"Worker节点自动续费true|false", "worker_auto_renew_period":"Worker节点续费周期", "worker_instance_types": "Worker实例规格多实例规格参数 ", "worker_system_disk_category": "Worker系统盘类型", "worker_system_disk_size": "Worker节点系统盘大小", "worker_data_disk":"是否挂载数据盘 true|false", "worker_data_disks":"Worker节点数据盘配置", "num_of_nodes": "Worker节点数", "snat_entry": "是否配置SNATEntry", "endpoint_public_access":"是否公网暴露集群endpoint", "proxy_mode": "网络模式, 可选值iptables|ipvs", "addons": "选装addon, 数组格式对象", "tags": "给集群打tag标签, 数组格式对象", "security_group_id": "安全组ID", "taints": "给节点添加taint, 数组格式对象", "cpu_policy":"cpu的策略,static|none", "runtime":"容器的运行时环境,一般为docker", "platform":"运行pod的主机的平台架构", "os_type":"运行pod的主机的操作系统类型,例如:linux,Windows...", "node_cidr_mask":"节点网络的网络ID的位数", "kubernetes_version":"kubernetes集群的版本,默认最新版本", "deletion_protection":"是否开启集群删除保护,防止通过控制台或api误删除集群" } 表 1. 请求体解释 名称 类型 必须 描述 cluster_type string 是 集群类型。 key_pair string 是 keypair名称。与login_password二选一。 login_password string 是 SSH登录密码。密码规则为8 - 30 个字符,且至少同时包含三项(大小写字母、数字和特殊符号)。和key_pair 二选一。 name string 是 集群名称,集群名称可以使用大小写英文字母、中文、数字、中划线。 num_of_nodes int 是 Worker节点数。范围是[0,100]。 region_id string 是 集群所在地域ID。 snat_entry bool 是 是否为网络配置SNAT。如果是自动创建VPC必须设置为true。如果使用已有VPC则根据是否具备出网能力来设置。 vswitch_ids list 是 交换机ID。List长度范围为 [1,3]。 worker_system_disk_category string 是 Worker节点系统盘类型。 worker_system_disk_size int 是 Worker节点系统盘大小。 addons list 否 Kubernetes集群的addon插件的组合。 addons的参数: name:必填,addon插件的名称。 version:可选,取值为空时默认取最新版本。 config:可选,取值为空时表示无需配置。 网络插件:包含Flannel和Terway网络插件,二选一。 日志服务:可选,如果不开启日志服务时,将无法使用集群审计功能。 Ingress:默认开启安装Ingress组件。 container_cidr string 否 容器网段,不能和VPC网段冲突。当选择系统自动创建VPC时,默认使用172.16.0.0/16网段。 cloud_monitor_flags bool 否 是否安装云监控插件。 disable_rollback bool 否 失败是否回滚: true:表示失败不回滚。 false:表示失败回滚。 如果选择失败回滚,则会释放创建过程中所生产的资源,不推荐使用false。 public_slb bool 否 是否开启公网API Server: true:默认为True,表示开放公网API Server。 false:若设置为false, 则不会创建公网的API Server,仅创建私网的API Server。 说明 过期参数,替代参数请参见endpoint_public_access。 proxy_mode string 否 kube-proxy代理模式,支持iptables和IPVS两种模式。 默认为iptables。 endpoint_public_access bool 否 是否开启公网API Server: true:默认为True,表示开放公网API Server。 false:若设置为false, 则不会创建公网的API Server,仅创建私网的API Server。 security_group_id string 否 指定集群ECS实例所属于的安全组ID。 service_cidr string 否 服务网段,不能和VPC网段以及容器网段冲突。当选择系统自动创建VPC时,默认使用172.19.0.0/20网段。 tags list 否 给集群打tag标签: key:标签名称。 value:标签值。 taints list 否 用于给节点做污点标记,通常用于 Pods 的调度策略。与之相对应的概念为:容忍(tolerance),若 Pods 上有相对应的 tolerance 标记,则可以容忍节点上的污点,并调度到该节点。 timeout_mins int 否 集群资源栈创建超时时间,以分钟为单位,默认值 60分钟。 vpcid string 否 VPC ID,可空。如果不设置,系统会自动创建VPC,系统创建的VPC网段为192.168.0.0/16。 VpcId 和 vswitchid 只能同时为空或者同时都设置相应的值。 worker_auto_renew bool 否 是否开启Worker节点自动续费,可选值为: true:自动续费。 false:不自动续费。 worker_auto_renew_period int 否 自动续费周期,当worker_instance_charge_type取值为PrePaid时才生效且为必选值。PeriodUnit=Month时,取值为{“1”,“2”,“3”,“6”,“12”}。 worker_data_disk string 否 是否挂载数据盘,可选择: true:表示worker节点挂载数据盘。 false:表示worker节点不挂载数据盘。 worker_data_disks list 否 Worker数据盘类型、大小等配置的组合。该参数只有在挂载Worker节点数据盘时有效,包含以下参数: category:数据盘类型。取值范围: cloud:普通云盘。 cloud_efficiency:高效云盘。 cloud_ssd:SSD云盘。 size:数据盘大小,单位为GiB。 worker_data_disk_category int 否 数据盘类型 说明 过期参数,替代参数请参见worker_data_disks参数中的category取值。 worker_data_disk_size string 否 数据盘大小 说明 过期参数,替代参数请参见worker_data_disks参数中的size取值。 worker_instance_charge_type string 否 Worker节点付费类型,可选值为: PrePaid:预付费。 PostPaid:按量付费。 worker_period int 否 包年包月时长,当worker_instance_charge_type取值为PrePaid时才生效且为必选值。PeriodUnit=Month时,Period取值:{ “1”,“2”,“3”,“6”,“12”} 。 worker_period_unit string 否 当指定为PrePaid的时候需要指定周期。 说明 Month:以月为计时单位。 worker_instance_types list 是 Worker 节点 ECS 规格类型代码。更多详细信息,参见实例规格族。 cpu_policy string 否 CPU策略。集群版本为1.12.6及以上版本支持static 和 none两种策略。默认为none。 runtime json 否 容器运行时,一般为docker,包括2个信息 name:容器运行时名称。 version:容器运行时版本。 platform string 否 运行Pod的主机的平台架构。 os_type string 否 运行Pod的主机的操作系统类型,例如Linux,Windows。 node_cidr_mask int 否 节点网络的网络前缀。node_cidr_mask通过cidr限制一个节点上能运行容器网络的Pod数量。例如node_cidr_mask是24的话,对应的容器数量是256,25对应的就是128。计算方式:2^(node_cidr_mask的值-24)-1。 kubernetes_version string 否 Kubernetes集群的版本,默认最新版本。 deletion_protection bool 否 是否开启集群删除保护,防止通过控制台或API误删除集群。 返回信息 返回行 ResponseLine HTTP/1.1 202 Accepted 特有返回头 ResponseHead 无,请参考公共返回头部。 返回体 ResponseBody { "cluster_id":"string", "request_id":"string", "task_id":"string" } 示例 请求示例 POST /clusters HTTP/1.1 <公共请求头> { "name":"test", "cluster_type":"my-test-Kubernetes-cluster", "disable_rollback":true, "timeout_mins":60, "kubernetes_version":"1.12.6-aliyun.1", "region_id":"cn-beijing", "snat_entry":true, "cloud_monitor_flags":false, "endpoint_public_access":false, "node_cidr_mask":"25", "proxy_mode":"ipvs", "tags":[], "addons": [{"name": "flannel"},{"name": "aliyun-log-controller","config": "{"sls_project_name":"k8s-log-c64f6eab6a1764d3dbee3dc2b9e41****"}"},{"name": "nginx-ingress-controller", "config": "{"IngressSlbNetworkType":"internet"}"}], "worker_instance_types":["ecs.hfc5.xlarge"], "num_of_nodes":3, "worker_system_disk_category":"cloud_efficiency", "worker_system_disk_size":120, "worker_instance_charge_type":"PostPaid", "vpcid":"vpc-2zegvl5etah5requ09nec", "container_cidr":"172.20.0.0/16", "service_cidr":"172.21.0.0/20", "vswitch_ids":["vsw-2ze48rkq464rsdts1****"], "worker_data_disks": [{"category": "cloud_ssd", "size": 500}], "login_password":"test@19****", "taint":[{"key": "special", "value": "true", "effect": "NoSchedule"}] } 返回示例 HTTP/1.1 202 Accepted <公共响应头> { "cluster_id": "cb95aa626a47740afbf6aa099b65****", "request_id": "687C5BAA-D103-4993-884B-C35E4314A1E1", "task_id": "T-5a54309c80282e39ea00002f" }

1934890530796658 2020-04-01 10:53:02 0 浏览量 回答数 0

问题

Hive向分区表导入数据File not found: File does no?400报错

爱吃鱼的程序员 2020-05-30 23:50:57 0 浏览量 回答数 1

回答

调用CreateCluster创建一个新的Kubernetes集群实例,并新建指定数量的节点。 请求信息 请求行RequestLine POST /clusters HTTP/1.1 特有请求头RequestHead 无,请参考公共请求头部。 请求体RequestBody 说明 创建集群时,请求参数需要正确组合,否则会导致集群创建失败。在容器服务控制台创建集群界面,提供了生成集群创建OpenAPI参数功能,可以为您提供准确的参数组合。请参见生成 OpenAPI 参数。 { "disable_rollback": "失败是否回滚", "name": "集群名称", "timeout_mins": "集群创建超时时间", "cluster_type": "集群类型,Kubernetes", "region_id": "地域", "vpcid": "VPC ID", "master_vswitch_ids": "master节点交换机ID。填写3个vswitchid, 尽量是分别在3个不同az, 保证高可用", "master_instance_types": "master节点实例类型。填写3个实例规格", "master_count": "master实例个数,支持3|5", "container_cidr": "容器POD CIDR", "service_cidr": "服务CIDR", "ssh_flags": "是否开放公网SSH登录", "cloud_monitor_flags": "是否安装云监控插件", "login_password": "节点SSH登录密码,和key_pair二选一", "key_pair": "keypair名称,和login_password 二选一", "master_instance_charge_type": "Master实例付费类型,PostPaid|PrePaid", "master_period_unit": "包年包月单位,Month,Year,只有在PrePaid下生效", "master_period": "包年包月时长,只有在PrePaid下生效", "master_auto_renew": "Master节点是否自动续费", "master_auto_renew_period": "Master节点续费周期", "master_system_disk_category": "Master系统盘类型", "master_system_disk_size": "Master节点系统盘大小", "master_data_disk(已弃用)": "Master节点是否挂载数据盘", "master_data_disks": "Master节点数据盘配置", "master_system_disk_snapshot_policy_id": "Master节点系统盘快照策略ID", "worker_instance_charge_type": "Worker节点付费类型PrePaid|PostPaid", "worker_period_unit": "包年包月单位,Month,Year,只有在PrePaid下生效", "worker_period": "包年包月时长,只有在PrePaid下生效", "worker_auto_renew": "Worker节点自动续费true|false", "worker_auto_renew_period": "Worker节点续费周期", "worker_instance_types": "Worker实例规格多实例规格参数", "worker_vswitch_ids": "一台或多台虚拟交换机 ID,N 的取值范围为 [1, 5]", "worker_system_disk_category": "Worker系统盘类型", "worker_system_disk_size": "Worker节点系统盘大小", "worker_data_disk(已弃用)": "Worker节点是否挂载数据盘", "worker_data_disks": "Worker节点数据盘配置", "worker_system_disk_snapshot_policy_id": "Worker节点系统盘快照策略ID", "num_of_nodes": "Worker节点数", "snat_entry": "是否配置SNATEntry", "endpoint_public_access": "是否公网暴露集群endpoint", "cpu_policy": "static|none", "node_port_range": "节点端口范围,默认30000-65535", "proxy_mode": "网络模式, 可选值iptables|ipvs", "addons": "选装addon, 数组格式对象", "tags": "给集群打tag标签, 数组格式对象", "security_group_id": "安全组ID", "auto_snapshot_policy_id": "自动快照策略ID", "taints": "给节点添加taint, 数组格式对象", "deletion_protection":"是否开启集群删除保护,防止通过控制台或api误删除集群", "os_type":"运行pod的主机的操作系统类型,例如:linux,Windows等", "platform":"运行pod的主机的平台架构", "runtime":"容器运行时,默认为docker", } 表 1. 请求体解释 名称 类型 必须 描述 cluster_type string 是 集群类型。 key_pair string 是 keypair名称。和login_password二选一。 login_password string 是 SSH登录密码。密码规则为8 - 30 个字符,且至少同时包含三项(大小写字母、数字和特殊符号)。和key_pair 二选一。 master_instance_charge_type string 否 Master节点付费类型,可选值为: PrePaid:预付费 PostPaid:按量付费 默认为按量付费。 master_instance_types list 是 Master节点ECS规格类型代码。更多详细信息,参见实例规格族。 master_system_disk_category string 是 Master节点系统盘类型,取值范围是: cloud_efficiency:高效云盘。 cloud_ssd:SSD云盘。 master_system_disk_size int 是 Master节点系统盘大小,单位为GiB。 master_vswitch_ids list 是 Master节点交换机ID列表,交换机个数取值范围为1~3。为确保集群的高可用性,推荐您选择3个交换机,且分布在不同的可用区。 num_of_nodes int 是 Worker节点数。范围是[0,100]。 name string 是 集群名称, 集群名称可以使用大小写英文字母、中文、数字、中划线。 region_id string 是 集群所在地域ID。 snat_entry bool 是 是否为网络配置SNAT。 当已有VPC能访问公网环境时,设置为 false。 当已有VPC不能访问公网环境时: 设置为true,表示配置SNAT,此时可以访问公网环境。 设置为false,表示不配置SNAT,此时不能访问公网环境。 worker_instance_types list 是 Worker 节点 ECS 规格类型代码。更多详细信息,参见实例规格族。 worker_system_disk_category string 是 Worker节点系统盘类型。 worker_system_disk_size int 是 Worker节点系统盘大小,单位为GiB。 worker_vswitch_ids list 是 Worker节点的虚拟交换机 ID。 addons list 否 Kubernetes集群的addon插件的组合。 addons的参数: name:必填,addon插件的名称。 version:可选,取值为空时默认取最新版本。 config:可选,取值为空时表示无需配置。 网络插件:包含Flannel和Terway网络插件,二选一。 日志服务:可选,如果不开启日志服务时,将无法使用集群审计功能。 Ingress:默认开启安装Ingress组件。 container_cidr string 否 容器网段,不能和VPC网段冲突。当选择系统自动创建VPC时,默认使用172.16.0.0/16网段。 cloud_monitor_flags bool 否 是否安装云监控插件: true:表示安装。 false:表示不安装。。 cpu_policy string 否 CPU策略。集群版本为1.12.6及以上版本支持static 和 none两种策略。默认为none。 disable_rollback bool 否 失败是否回滚: true:表示失败不回滚。 false:表示失败回滚。 默认为true,如果选择失败回滚,则会释放创建过程中所生产的资源,不推荐使用false。 master_auto_renew bool 否 Master节点是否自动续费,当master_instance_charge_type取值为PrePaid时才生效,可选值为: true:自动续费。 false:不自动续费。 master_auto_renew_period int 否 自动续费周期,当选择预付费和自动续费时才生效,且为必选值。PeriodUnit=Month时,取值为{“1”, “2”, “3”, “6”, “12”}。 master_count int 否 Master实例个数,可选值3或者5。默认值为3。 master_data_disk(已弃用) bool 否 Master节点是否挂载数据盘,可选择为: true:挂载数据盘 false:不挂载数据盘,默认为false master_data_disks list 否 Master数据盘类型、大小等配置的组合。该参数只有在挂载Master节点数据盘时有效,包含以下参数: category:数据盘类型。取值范围: cloud:普通云盘 cloud_efficiency:高效云盘 cloud_ssd:SSD云盘 size:数据盘大小,单位为GiB。 encrypted: master_period int 否 包年包月时长,当master_instance_charge_type取值为PrePaid时才生效且为必选值,取值范围: PeriodUnit=Month时,Period取值:{ “1”, “2”, “3”,“6”,“12”}。 master_period_unit string 否 当指定为PrePaid的时候需要指定周期。Month:以月为计时单位。 node_port_range string 否 节点服务端口。取值范围为[30000,65535]。 proxy_mode string 否 kube-proxy 代理模式,支持 iptables 和 IPVS两种模式。 默认为 iptables 。 endpoint_public_access bool 否 是否开启公网API Server: true:默认为True,表示开放公网API Server。 false:若设置为false, 则不会创建公网的API Server,仅创建私网的API Server。 security_group_id string 否 指定集群ECS实例所属于的安全组ID。 service_cidr string 否 服务网段,不能和VPC网段以及容器网段冲突。当选择系统自动创建VPC时,默认使用172.19.0.0/20网段。 ssh_flags bool 否 是否开放公网SSH登录: true:表示开放。 false:表示不开放。 tags list 否 给集群打tag标签: key:标签名称。 value:标签值。 taints list 否 用于给节点做污点标记,通常用于 Pods 的调度策略。与之相对应的概念为:容忍(tolerance),若 Pods 上有相对应的 tolerance 标记,则可以容忍节点上的污点,并调度到该节点。 kubernetes_version string 否 Kubernetes集群版本,默认最新版。ACK支持的KubernetesK8s版本:v1.16.6,v1.14.6和v1.12.6。 timeout_mins int 否 集群资源栈创建超时时间,以分钟为单位,默认值 60。 vpcid string 否 VPC ID,可空。如果不设置,系统会自动创建VPC,系统创建的VPC网段为192.168.0.0/16。 说明 VpcId 和 vswitchid 只能同时为空或者同时都设置对应的值。 worker_auto_renew bool 否 是否开启Worker节点自动续费,可选值为: true:自动续费。 false:不自动续费。 worker_auto_renew_period int 否 自动续费周期,当选择预付费和自动续费时才生效,且为必选值: PeriodUnit=Month时,取值{“1”, “2”, “3”, “6”, “12”}。 worker_data_disk(已弃用) string 否 是否挂载数据盘,可选择为: true:表示worker节点挂载数据盘。 false:表示worker节点不挂载数据盘。 worker_data_disks list 否 Worker数据盘类型、大小等配置的组合。该参数只有在挂载Worker节点数据盘时有效,包含以下参数: category:数据盘类型。取值范围: cloud:普通云盘。 cloud_efficiency:高效云盘。 cloud_ssd:SSD云盘。 size:数据盘大小,单位为GiB。 encrypted:是否对数据盘加密,true|false。 worker_instance_charge_type string 否 Worker节点付费类型,可选值为: PrePaid:预付费。 PostPaid:按量付费。 默认为按量付费。 worker_period int 否 包年包月时长,当worker_instance_charge_type取值为PrePaid时才生效且为必选值,取值范围:PeriodUnit=Month时,Period取值:{ “1”, “2”, “3”, “6”, “12”}。 worker_period_unit string 否 当指定为PrePaid的时候需要指定周期。Month:以月为计时单位。 deletion_protection bool 否 是否开启集群删除保护,防止通过控制台或api误删除集群。 os_type string 否 运行pod的主机的操作系统类型,例如:linux,Windows等。 platform string 否 运行pod的主机的平台架构。 runtime json 否 容器运行时,一般为docker,包括2个信息:name和version。 node_cidr_mask string 否 节点网络的网络前缀。node_cidr_mask通过cidr限制一个节点上能运行容器网络的Pod数量。例如node_cidr_mask是24的话,对应的容器数量是256,25对应的就是128。计算方式:2^(node_cidr_mask的值-24)-1。 返回信息 返回行 ResponseLine HTTP/1.1 202 Accepted 特有返回头 ResponseHead 无,请参考公共返回头部。 表 2. 返回体 ResponseBody 名称 类型 描述 cluster_id string 集群实例ID。 request_id string 请求ID。 task_id string 任务ID。系统自动分配,用户查询任务状态。 示例 请求示例 POST /clusters HTTP/1.1 <公共请求头> { "cluster_type":"Kubernetes", "name":"my-test-Kubernetes-cluster", "region_id":"cn-beijing", "disable_rollback":true, "timeout_mins":60, "kubernetes_version":"1.12.6-aliyun.1", "snat_entry":true, "endpoint_public_access":false, "cloud_monitor_flags":false, "node_cidr_mask":"25", "proxy_mode":"iptables", "tags":[], "addons": [{"name": "flannel"},{"name": "aliyun-log-controller","config": "{"sls_project_name":"k8s-log-c64f6eab6a1764d3dbee3dc2b9e41****"}"},{"name": "nginx-ingress-controller", "config": "{"IngressSlbNetworkType":"internet"}"}], "node_port_range":"30000-32767", "login_password":"test****", "cpu_policy":"none", "master_count":3, "master_vswitch_ids":["vsw-2ze48rkq464rsdts****","vsw-2ze48rkq464rsdts1****","vsw-2ze48rkq464rsdts1****"], "master_instance_types":["ecs.sn1.medium","ecs.sn1.medium","ecs.sn1.medium"], "master_system_disk_category":"cloud_efficiency", "master_system_disk_size":40, "worker_instance_types":["ecs.sn2.3xlarge"], "num_of_nodes":3, "worker_system_disk_category":"cloud_efficiency", "worker_system_disk_size":120, "vpcid":"vpc-2zegvl5etah5requ0****", "worker_vswitch_ids":["vsw-2ze48rkq464rsdts****"], "container_cidr":"172.20.XX.XX/16", "service_cidr":"172.21.XX.XX/20", "worker_data_disks": [{"category": "cloud_ssd", "size": 500}], "master_data_disks": [{"category": "cloud_ssd", "size": 500}], "taints":[{"key": "special", "value": "true", "effect": "NoSchedule"}] } 返回示例 HTTP/1.1 202 Accepted <公共响应头> { "cluster_id": "cb95aa626a47740afbf6aa099b650****", "request_id": "687C5BAA-D103-4993-884B-C35E4314A1E1", "task_id": "T-5a54309c80282e39ea00002f" }

1934890530796658 2020-04-01 11:01:33 0 浏览量 回答数 0

回答

具体的 API 描述,参见查询集群实例。 API请求响应 请求格式 aliyun cs GET /clusters/<cluster_id> 响应结果 { "name": "sian-devk8s", "cluster_id": "cdde1f21ae22e483ebcb068a6eb7f358d", "size": 1, "region_id": "cn-beijing", "state": "running", "cluster_type": "ManagedKubernetes", "created": "2019-11-25T15:50:20+08:00", "updated": "2020-01-13T23:01:03+08:00", "init_version": "1.14.8-aliyun.1", "current_version": "1.14.8-aliyun.1", "meta_data": "{"Addons":[{"name":"flannel","version":"","disabled":false,"required":"","config":""},{"name":"flexvolume","version":"","disabled":false,"required":"","config":""},{"name":"alicloud-disk-controller","version":"","disabled":false,"required":"","config":""},{"name":"logtail-ds","version":"","disabled":false,"required":"","config":"{\"IngressDashboardEnabled\":\"true\"}"},{"name":"nginx-ingress-controller","version":"","disabled":false,"required":"","config":"{\"IngressSlbNetworkType\":\"internet\"}"},{"name":"kube-flannel-ds","version":"","disabled":false,"required":"","config":""}],"Capabilities":{"AnyAZ":true,"CSI":true,"CpuPolicy":true,"DeploymentSet":true,"HpcCluster":true,"Network":"Flannel","NodeCIDRMask":"25","NodeNameMode":true,"ProxyMode":"ipvs","PublicSLB":true,"SLSProjectName":true,"SandboxRuntime":false,"Taint":true,"TerwayEniip":true,"UserData":true},"ClusterDomain":"","DockerVersion":"18.09.2","EtcdVersion":"v3.3.8","HasSandboxRuntime":false,"KubernetesVersion":"1.14.8-aliyun.1","MultiAZ":false,"NameMode":"","OSType":"Linux","Platform":"CentOS","PodVswitchId":"","Provider":"","ResourceGroupId":"rg-acfmyvw3wjmb3uq","SubClass":"default","SupportPlatforms":null,"VersionSpec":null,"VpcCidr":"192.168.0.0/16"}", "resource_group_id": "rg-acfmyvw3wjmb3uq", "instance_type": "", "vpc_id": "vpc-2zecuu62b9zw7a7qnn2tv", "vswitch_id": "vsw-2zete8s4qocqg0mf6xd76", "vswitch_cidr": "", "data_disk_size": 0, "data_disk_category": "cloud", "security_group_id": "sg-2zedf74ifulatvx0z2ag", "tags": [ { "key": "ack.aliyun.com", "value": "cdde1f21ae22e483ebcb068a6eb7f358d" } ], "zone_id": "cn-beijing-a", "-": "PayByTraffic", "network_mode": "vpc", "subnet_cidr": "172.20.0.0/16", "master_url": "{"api_server_endpoint":"https://47.93.195.255:6443https://mirana.cs-cn-beijing.aliyuncs.com:4243https://192.168.0.79:6443"}", "external_loadbalancer_id": "lb-2ze3buguz3gx9920zwf24", "port": 0, "node_status": "", "cluster_healthy": "", "docker_version": "18.09.2", "swarm_mode": false, "gw_bridge": "", "upgrade_components": { "Kubernetes": { "component_name": "Kubernetes", "version": "1.14.8-aliyun.1", "next_version": "", "changed": "", "can_upgrade": false, "force": false, "policy": "", "ExtraVars": null, "ready_to_upgrade": "", "message": "", "exist": false, "required": false } }, "private_zone": false, "profile": "", "deletion_protection": true, "capabilities": null, "enabled_migration": false, "need_update_agent": false, "outputs": [ { "Description": "Log Info Output", "OutputKey": "LastKnownError", "OutputValue": null }, { "Description": "Error msg of ess scaling instance", "OutputKey": "NodesScalingErrorInfo", "OutputValue": null }, { "Description": "The mode we use in kube-proxy.", "OutputKey": "ProxyMode", "OutputValue": "ipvs" }, { "Description": "ScalingGroup ID", "OutputKey": "ScalingGroupID", "OutputValue": "asg-2zebrr08gt5uluh7u5ar" }, { "Description": "Ids of worker node", "OutputKey": "NodeInstanceIDs", "OutputValue": [ "i-2ze4ymrjuocpbc0cftdj", "i-2ze4ymrjuocpbc0cftdk", "i-2ze4ymrjuocpbc0cftdl" ] }, { "Description": "Count of ess scaling instance", "OutputKey": "NodesScalingAddedInstances", "OutputValue": 3 } ]

1934890530796658 2020-03-31 21:34:09 0 浏览量 回答数 0

回答

Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱 (IMAP/POP3)代理服务器。它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟传统的服务器不同,Nginx不依赖线程来处理请求。相反,它使用了更多的可扩展的事 件驱动(异步)架构。Nginx为一些高流量的网站提供动力,比如WordPress,人人网,腾讯,网易等。这篇文章主要是介绍如何提高运行在 Linux或UNIX系统的Nginx Web服务器的安全性。 默认配置文件和Nginx端口 /usr/local/nginx/conf/ – Nginx配置文件目录,/usr/local/nginx/conf/nginx.conf是主配置文件 /usr/local/nginx/html/ – 默认网站文件位置 /usr/local/nginx/logs/ – 默认日志文件位置 Nginx HTTP默认端口 : TCP 80 Nginx HTTPS默认端口: TCP 443 你可以使用以下命令来测试Nginx配置文件准确性。 /usr/local/nginx/sbin/nginx -t 将会输出: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 执行以下命令来重新加载配置文件。 /usr/local/nginx/sbin/nginx -s reload 执行以下命令来停止服务器。 /usr/local/nginx/sbin/nginx -s stop 一、配置SELinux 注意:对于云服务器 ECS,参阅 ECS 使用须知 ,基于兼容性、稳定性考虑,请勿开启 SELinux。 安全增强型 Linux(SELinux)是一个Linux内核的功能,它提供支持访问控制的安全政策保护机制。它可以防御大部分攻击。下面我们来看如何启动基于centos/RHEL系统的SELinux。 安装SELinux rpm -qa | grep selinux libselinux-1.23.10-2 selinux-policy-targeted-1.23.16-6 如果没有返回任何结果,代表没有安装 SELinux,如果返回了类似上面的结果,则说明系统安装了 SELinux。 布什值锁定 运行命令getsebool -a来锁定系统。 getsebool -a | less getsebool -a | grep off getsebool -a | grep o 二、通过分区挂载允许最少特权 服务器上的网页/html/php文件单独分区。例如,新建一个分区/dev/sda5(第一逻辑分区),并且挂载在/nginx。确保 /nginx是以noexec, nodev and nosetuid的权限挂载。以下是我的/etc/fstab的挂载/nginx的信息: LABEL=/nginx /nginx ext3 defaults,nosuid,noexec,nodev 1 2 注意:你需要使用fdisk和mkfs.ext3命令创建一个新分区。 三、配置/etc/sysctl.conf强化Linux安全 你可以通过编辑/etc/sysctl.conf来控制和配置Linux内核、网络设置。 Avoid a smurf attack net.ipv4.icmp_echo_ignore_broadcasts = 1 Turn on protection for bad icmp error messages net.ipv4.icmp_ignore_bogus_error_responses = 1 Turn on syncookies for SYN flood attack protection net.ipv4.tcp_syncookies = 1 Turn on and log spoofed, source routed, and redirect packets net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.default.log_martians = 1 No source routed packets here net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 Turn on reverse path filtering net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 Make sure no one can alter the routing tables net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.all.secure_redirects = 0 net.ipv4.conf.default.secure_redirects = 0 Don’t act as a router net.ipv4.ip_forward = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 Turn on execshild kernel.exec-shield = 1 kernel.randomize_va_space = 1 Tuen IPv6 net.ipv6.conf.default.router_solicitations = 0 net.ipv6.conf.default.accept_ra_rtr_pref = 0 net.ipv6.conf.default.accept_ra_pinfo = 0 net.ipv6.conf.default.accept_ra_defrtr = 0 net.ipv6.conf.default.autoconf = 0 net.ipv6.conf.default.dad_transmits = 0 net.ipv6.conf.default.max_addresses = 1 Optimization for port usefor LBs Increase system file descriptor limit fs.file-max = 65535 Allow for more PIDs (to reduce rollover problems); may break some programs 32768 kernel.pid_max = 65536 Increase system IP port limits net.ipv4.ip_local_port_range = 2000 65000 Increase TCP max buffer size setable using setsockopt() net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 87380 8388608 Increase Linux auto tuning TCP buffer limits min, default, and max number of bytes to use set max to at least 4MB, or higher if you use very high BDP paths Tcp Windows etc net.core.rmem_max = 8388608 net.core.wmem_max = 8388608 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_window_scaling = 1 四、删除所有不需要的Nginx模块 你需要直接通过编译Nginx源代码使模块数量最少化。通过限制只允许web服务器访问模块把风险降到最低。你可以只配置安装nginx你所需要的模块。例如,禁用SSL和autoindex模块你可以执行以下命令: ./configure –without-http_autoindex_module –without-http_ssi_module make make install 通过以下命令来查看当编译nginx服务器时哪个模块能开户或关闭: ./configure –help | less 禁用你用不到的nginx模块。 (可选项)更改nginx版本名称。 编辑文件/http/ngx_http_header_filter_module.c: vi +48 src/http/ngx_http_header_filter_module.c 找到行: static char ngx_http_server_string[] = “Server: nginx” CRLF; static char ngx_http_server_full_string[] = “Server: ” NGINX_VER CRLF; 按照以下行修改: static char ngx_http_server_string[] = “Server: Ninja Web Server” CRLF; static char ngx_http_server_full_string[] = “Server: Ninja Web Server” CRLF; 保存并关闭文件。现在你可以编辑服务器了。增加以下代码到nginx.conf文件来关闭nginx版本号的显示。 server_tokens off 五、使用mod_security(只适合后端Apache服务器) mod_security为Apache提供一个应用程序级的防火墙。为后端Apache Web服务器安装mod_security,这会阻止很多注入式攻击。 六、安装SELinux策略以强化Nginx Web服务器 默认的SELinux不会保护Nginx Web服务器,但是你可以安装和编译保护软件。 1、安装编译SELinux所需环境支持 yum -y install selinux-policy-targeted selinux-policy-devel 2、下载SELinux策略以强化Nginx Web服务器。 cd /opt wget ‘http://downloads.sourceforge.net/project/selinuxnginx/se-ngix_1_0_10.tar.gz?use_mirror=nchc’ 3、解压文件 tar -zxvf se-ngix_1_0_10.tar.gz 4、编译文件 cd se-ngix_1_0_10/nginx make 将会输出如下: Compiling targeted nginx module /usr/bin/checkmodule: loading policy configuration from tmp/nginx.tmp /usr/bin/checkmodule: policy configuration loaded /usr/bin/checkmodule: writing binary representation (version 6) to tmp/nginx.mod Creating targeted nginx.pp policy package rm tmp/nginx.mod.fc tmp/nginx.mod 5、安装生成的nginx.pp SELinux模块: /usr/sbin/semodule -i nginx.pp 七、基于Iptables防火墙的限制 下面的防火墙脚本阻止任何除了允许: 来自HTTP(TCP端口80)的请求 来自ICMP ping的请求 ntp(端口123)的请求输出 smtp(TCP端口25)的请求输出 #!/bin/bash IPT=”/sbin/iptables” IPS Get server public ip SERVER_IP=$(ifconfig eth0 | grep ‘inet addr:’ | awk -F’inet addr:’ ‘{ print $2}’ | awk ‘{ print $1}’) LB1_IP=”204.54.1.1″ LB2_IP=”204.54.1.2″ Do some smart logic so that we can use damm script on LB2 too OTHER_LB=”" SERVER_IP=”" [[ "$SERVER_IP" == "$LB1_IP" ]] && OTHER_LB=”$LB2_IP” || OTHER_LB=”$LB1_IP” [[ "$OTHER_LB" == "$LB2_IP" ]] && OPP_LB=”$LB1_IP” || OPP_LB=”$LB2_IP” IPs PUB_SSH_ONLY=”122.xx.yy.zz/29″ FILES BLOCKED_IP_TDB=/root/.fw/blocked.ip.txt SPOOFIP=”127.0.0.0/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 169.254.0.0/16 0.0.0.0/8 240.0.0.0/4 255.255.255.255/32 168.254.0.0/16 224.0.0.0/4 240.0.0.0/5 248.0.0.0/5 192.0.2.0/24″ BADIPS=$( [[ -f ${BLOCKED_IP_TDB} ]] && egrep -v “^#|^$” ${BLOCKED_IP_TDB}) Interfaces PUB_IF=”eth0″ # public interface LO_IF=”lo” # loopback VPN_IF=”eth1″ # vpn / private net start firewall echo “Setting LB1 $(hostname) Firewall…” DROP and close everything $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP Unlimited lo access $IPT -A INPUT -i ${LO_IF} -j ACCEPT $IPT -A OUTPUT -o ${LO_IF} -j ACCEPT Unlimited vpn / pnet access $IPT -A INPUT -i ${VPN_IF} -j ACCEPT $IPT -A OUTPUT -o ${VPN_IF} -j ACCEPT Drop sync $IPT -A INPUT -i ${PUB_IF} -p tcp ! –syn -m state –state NEW -j DROP Drop Fragments $IPT -A INPUT -i ${PUB_IF} -f -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL ALL -j DROP Drop NULL packets $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” NULL Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL NONE -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,RST SYN,RST -j DROP Drop XMAS $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” XMAS Packets “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags SYN,FIN SYN,FIN -j DROP Drop FIN packet scans $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” Fin Packets Scan “ $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags FIN,ACK FIN -j DROP $IPT -A INPUT -i ${PUB_IF} -p tcp –tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP Log and get rid of broadcast / multicast and invalid $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j LOG –log-prefix ” Broadcast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type broadcast -j DROP $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j LOG –log-prefix ” Multicast “ $IPT -A INPUT -i ${PUB_IF} -m pkttype –pkt-type multicast -j DROP $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j LOG –log-prefix ” Invalid “ $IPT -A INPUT -i ${PUB_IF} -m state –state INVALID -j DROP Log and block spoofed ips $IPT -N spooflist for ipblock in $SPOOFIP do $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j LOG –log-prefix ” SPOOF List Block “ $IPT -A spooflist -i ${PUB_IF} -s $ipblock -j DROP done $IPT -I INPUT -j spooflist $IPT -I OUTPUT -j spooflist $IPT -I FORWARD -j spooflist Allow ssh only from selected public ips for ip in ${PUB_SSH_ONLY} do $IPT -A INPUT -i ${PUB_IF} -s ${ip} -p tcp -d ${SERVER_IP} –destination-port 22 -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -d ${ip} -p tcp -s ${SERVER_IP} –sport 22 -j ACCEPT done allow incoming ICMP ping pong stuff $IPT -A INPUT -i ${PUB_IF} -p icmp –icmp-type 8 -s 0/0 -m state –state NEW,ESTABLISHED,RELATED -m limit –limit 30/sec -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p icmp –icmp-type 0 -d 0/0 -m state –state ESTABLISHED,RELATED -j ACCEPT allow incoming HTTP port 80 $IPT -A INPUT -i ${PUB_IF} -p tcp -s 0/0 –sport 1024:65535 –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A OUTPUT -o ${PUB_IF} -p tcp –sport 80 -d 0/0 –dport 1024:65535 -m state –state ESTABLISHED -j ACCEPT allow outgoing ntp $IPT -A OUTPUT -o ${PUB_IF} -p udp –dport 123 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p udp –sport 123 -m state –state ESTABLISHED -j ACCEPT allow outgoing smtp $IPT -A OUTPUT -o ${PUB_IF} -p tcp –dport 25 -m state –state NEW,ESTABLISHED -j ACCEPT $IPT -A INPUT -i ${PUB_IF} -p tcp –sport 25 -m state –state ESTABLISHED -j ACCEPT add your other rules here ####################### drop and log everything else $IPT -A INPUT -m limit –limit 5/m –limit-burst 7 -j LOG –log-prefix ” DEFAULT DROP “ $IPT -A INPUT -j DROP exit 0 八、控制缓冲区溢出攻击 编辑nginx.conf,为所有客户端设置缓冲区的大小限制。 vi /usr/local/nginx/conf/nginx.conf 编辑和设置所有客户端缓冲区的大小限制如下: Start: Size Limits & Buffer Overflows client_body_buffer_size 1K; client_header_buffer_size 1k; client_max_body_size 1k; large_client_header_buffers 2 1k; END: Size Limits & Buffer Overflows 解释: 1、client_body_buffer_size 1k-(默认8k或16k)这个指令可以指定连接请求实体的缓冲区大小。如果连接请求超过缓存区指定的值,那么这些请求实体的整体或部分将尝试写入一个临时文件。 2、client_header_buffer_size 1k-指令指定客户端请求头部的缓冲区大小。绝大多数情况下一个请求头不会大于1k,不过如果有来自于wap客户端的较大的cookie它可能会大于 1k,Nginx将分配给它一个更大的缓冲区,这个值可以在large_client_header_buffers里面设置。 3、client_max_body_size 1k-指令指定允许客户端连接的最大请求实体大小,它出现在请求头部的Content-Length字段。 如果请求大于指定的值,客户端将收到一个”Request Entity Too Large” (413)错误。记住,浏览器并不知道怎样显示这个错误。 4、large_client_header_buffers-指定客户端一些比较大的请求头使用的缓冲区数量和大小。请求字段不能大于一个缓冲区大小,如果客户端发送一个比较大的头,nginx将返回”Request URI too large” (414) 同样,请求的头部最长字段不能大于一个缓冲区,否则服务器将返回”Bad request” (400)。缓冲区只在需求时分开。默认一个缓冲区大小为操作系统中分页文件大小,通常是4k或8k,如果一个连接请求最终将状态转换为keep- alive,它所占用的缓冲区将被释放。 你还需要控制超时来提高服务器性能并与客户端断开连接。按照如下编辑: Start: Timeouts client_body_timeout 10; client_header_timeout 10; keepalive_timeout 5 5; send_timeout 10; End: Timeouts 1、client_body_timeout 10;-指令指定读取请求实体的超时时间。这里的超时是指一个请求实体没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 2、client_header_timeout 10;-指令指定读取客户端请求头标题的超时时间。这里的超时是指一个请求头没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx将返回一个”Request time out” (408)错误。 3、keepalive_timeout 5 5; – 参数的第一个值指定了客户端与服务器长连接的超时时间,超过这个时间,服务器将关闭连接。参数的第二个值(可选)指定了应答头中Keep-Alive: timeout=time的time值,这个值可以使一些浏览器知道什么时候关闭连接,以便服务器不用重复关闭,如果不指定这个参数,nginx不会在应 答头中发送Keep-Alive信息。(但这并不是指怎样将一个连接“Keep-Alive”)参数的这两个值可以不相同。 4、send_timeout 10; 指令指定了发送给客户端应答后的超时时间,Timeout是指没有进入完整established状态,只完成了两次握手,如果超过这个时间客户端没有任何响应,nginx将关闭连接。 九、控制并发连接 你可以使用NginxHttpLimitZone模块来限制指定的会话或者一个IP地址的特殊情况下的并发连接。编辑nginx.conf: Directive describes the zone, in which the session states are stored i.e. store in slimits. 1m can handle 32000 sessions with 32 bytes/session, set to 5m x 32000 session limit_zone slimits $binary_remote_addr 5m; Control maximum number of simultaneous connections for one session i.e. restricts the amount of connections from a single ip address limit_conn slimits 5; 上面表示限制每个远程IP地址的客户端同时打开连接不能超过5个。 十、只允许我们的域名的访问 如果机器人只是随机扫描服务器的所有域名,那拒绝这个请求。你必须允许配置的虚拟域或反向代理请求。你不必使用IP地址来拒绝。 Only requests to our Host are allowed i.e. nixcraft.in, images.nixcraft.in and www.nixcraft.in if ($host !~ ^(nixcraft.in|www.nixcraft.in|images.nixcraft.in)$ ) { return 444; } 十一、限制可用的请求方法 GET和POST是互联网上最常用的方法。 Web服务器的方法被定义在RFC 2616。如果Web服务器不要求启用所有可用的方法,它们应该被禁用。下面的指令将过滤只允许GET,HEAD和POST方法: Only allow these request methods if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } Do not accept DELETE, SEARCH and other methods 更多关于HTTP方法的介绍 GET方法是用来请求,如文件http://www.moqifei.com/index.php。 HEAD方法是一样的,除非该服务器的GET请求无法返回消息体。 POST方法可能涉及到很多东西,如储存或更新数据,或订购产品,或通过提交表单发送电子邮件。这通常是使用服务器端处理,如PHP,Perl和Python等脚本。如果你要上传的文件和在服务器处理数据,你必须使用这个方法。 十二、如何拒绝一些User-Agents? 你可以很容易地阻止User-Agents,如扫描器,机器人以及滥用你服务器的垃圾邮件发送者。 Block download agents if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; } 阻止Soso和有道的机器人: Block some robots if ($http_user_agent ~* Sosospider|YodaoBot) { return 403; } 十三、如何防止图片盗链 图片或HTML盗链的意思是有人直接用你网站的图片地址来显示在他的网站上。最终的结果,你需要支付额外的宽带费用。这通常是在论坛和博客。我强烈建议您封锁,并阻止盗链行为。 Stop deep linking or hot linking location /images/ { valid_referers none blocked www.example.com example.com; if ($invalid_referer) { return 403; } } 例如:重定向并显示指定图片 valid_referers blocked www.example.com example.com; if ($invalid_referer) { rewrite ^/images/uploads.*.(gif|jpg|jpeg|png)$ http://www.examples.com/banned.jpg last } 十四、目录限制 你可以对指定的目录设置访问权限。所有的网站目录应该一一的配置,只允许必须的目录访问权限。 通过IP地址限制访问 你可以通过IP地址来限制访问目录/admin/: location /docs/ { block one workstation deny 192.168.1.1; allow anyone in 192.168.1.0/24 allow 192.168.1.0/24; drop rest of the world deny all; } 通过密码保护目录 首先创建密码文件并增加“user”用户: mkdir /usr/local/nginx/conf/.htpasswd/ htpasswd -c /usr/local/nginx/conf/.htpasswd/passwd user 编辑nginx.conf,加入需要保护的目录: Password Protect /personal-images/ and /delta/ directories location ~ /(personal-images/.|delta/.) { auth_basic “Restricted”; auth_basic_user_file /usr/local/nginx/conf/.htpasswd/passwd; } 一旦密码文件已经生成,你也可以用以下的命令来增加允许访问的用户: htpasswd -s /usr/local/nginx/conf/.htpasswd/passwd userName 十五、Nginx SSL配置 HTTP是一个纯文本协议,它是开放的被动监测。你应该使用SSL来加密你的用户内容。 创建SSL证书 执行以下命令: cd /usr/local/nginx/conf openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 编辑nginx.conf并按如下来更新: server { server_name example.com; listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server.key; access_log /usr/local/nginx/logs/ssl.access.log; error_log /usr/local/nginx/logs/ssl.error.log; } 重启nginx: /usr/local/nginx/sbin/nginx -s reload 十六、Nginx与PHP安全建议 PHP是流行的服务器端脚本语言之一。如下编辑/etc/php.ini文件: Disallow dangerous functions disable_functions = phpinfo, system, mail, exec Try to limit resources Maximum execution time of each script, in seconds max_execution_time = 30 Maximum amount of time each script may spend parsing request data max_input_time = 60 Maximum amount of memory a script may consume (8MB) memory_limit = 8M Maximum size of POST data that PHP will accept. post_max_size = 8M Whether to allow HTTP file uploads. file_uploads = Off Maximum allowed size for uploaded files. upload_max_filesize = 2M Do not expose PHP error messages to external users display_errors = Off Turn on safe mode safe_mode = On Only allow access to executables in isolated directory safe_mode_exec_dir = php-required-executables-path Limit external access to PHP environment safemode_allowed_env_vars = PHP Restrict PHP information leakage expose_php = Off Log all errors log_errors = On Do not register globals for input data register_globals = Off Minimize allowable PHP post size post_max_size = 1K Ensure PHP redirects appropriately cgi.force_redirect = 0 Disallow uploading unless necessary file_uploads = Off Enable SQL safe mode sql.safe_mode = On Avoid Opening remote files allow_url_fopen = Off 十七、如果可能让Nginx运行在一个chroot监狱 把nginx放在一个chroot监狱以减小潜在的非法进入其它目录。你可以使用传统的与nginx一起安装的chroot。如果可能,那使用FreeBSD jails,Xen,OpenVZ虚拟化的容器概念。 十八、在防火墙级限制每个IP的连接数 网络服务器必须监视连接和每秒连接限制。PF和Iptales都能够在进入你的nginx服务器之前阻止最终用户的访问。 Linux Iptables:限制每次Nginx连接数 下面的例子会阻止来自一个IP的60秒钟内超过15个连接端口80的连接数。 /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –set /sbin/iptables -A INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –update –seconds 60 –hitcount 15 -j DROP service iptables save 请根据你的具体情况来设置限制的连接数。 十九:配置操作系统保护Web服务器 像以上介绍的启动SELinux.正确设置/nginx文档根目录的权限。Nginx以用户nginx运行。但是根目录(/nginx或者/usr /local/nginx/html)不应该设置属于用户nginx或对用户nginx可写。找出错误权限的文件可以使用如下命令: find /nginx -user nginx find /usr/local/nginx/html -user nginx 确保你更所有权为root或其它用户,一个典型的权限设置 /usr/local/nginx/html/ ls -l /usr/local/nginx/html/ 示例输出: -rw-r–r– 1 root root 925 Jan 3 00:50 error4xx.html -rw-r–r– 1 root root 52 Jan 3 10:00 error5xx.html -rw-r–r– 1 root root 134 Jan 3 00:52 index.html 你必须删除由vi或其它文本编辑器创建的备份文件: find /nginx -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ find /usr/local/nginx/html/ -name ‘.?’ -not -name .ht -or -name ‘~’ -or -name ‘.bak’ -or -name ‘.old*’ 通过find命令的-delete选项来删除这些文件。 二十、限制Nginx连接传出 黑客会使用工具如wget下载你服务器本地的文件。使用Iptables从nginx用户来阻止传出连接。ipt_owner模块试图匹配本地产生的数据包的创建者。下面的例子中只允许user用户在外面使用80连接。 /sbin/iptables -A OUTPUT -o eth0 -m owner –uid-owner vivek -p tcp –dport 80 -m state –state NEW,ESTABLISHED -j ACCEPT 通过以上的配置,你的nginx服务器已经非常安全了并可以发布网页。可是,你还应该根据你网站程序查找更多的安全设置资料。例如,wordpress或者第三方程序。

KB小秘书 2019-12-02 02:06:56 0 浏览量 回答数 0

回答

调用 DescribeClusterDetail 根据集群 ID,查看集群的详细信息。 请求信息 请求行 RequestLine GET /clusters/{cluster_id} HTTP/1.1 请求行参数 URI Param 名称 类型 是否必须 描述 cluster_id string 是 集群 ID。 特有请求头 RequestHead 无,请参考公共请求头部。 请求体 RequestBody 无 返回信息 返回行 ResponseLine HTTP/1.1 200 OK 特有返回头 ResponseHead 无,请参考公共返回头部。 返回体 ResponseBody { "name": "sian-devk8s", "cluster_id": "cdde1f21ae22e483ebcb068a6eb7f358d", "size": 1, "region_id": "cn-beijing", "state": "running", "cluster_type": "ManagedKubernetes", "created": "2019-11-25T15:50:20+08:00", "updated": "2020-01-13T23:01:03+08:00", "init_version": "1.14.8-aliyun.1", "current_version": "1.14.8-aliyun.1", "meta_data": "{"Addons":[{"name":"flannel","version":"","disabled":false,"required":"","config":""},{"name":"flexvolume","version":"","disabled":false,"required":"","config":""},{"name":"alicloud-disk-controller","version":"","disabled":false,"required":"","config":""},{"name":"logtail-ds","version":"","disabled":false,"required":"","config":"{\"IngressDashboardEnabled\":\"true\"}"},{"name":"nginx-ingress-controller","version":"","disabled":false,"required":"","config":"{\"IngressSlbNetworkType\":\"internet\"}"},{"name":"kube-flannel-ds","version":"","disabled":false,"required":"","config":""}],"Capabilities":{"AnyAZ":true,"CSI":true,"CpuPolicy":true,"DeploymentSet":true,"HpcCluster":true,"Network":"Flannel","NodeCIDRMask":"25","NodeNameMode":true,"ProxyMode":"ipvs","PublicSLB":true,"SLSProjectName":true,"SandboxRuntime":false,"Taint":true,"TerwayEniip":true,"UserData":true},"ClusterDomain":"","DockerVersion":"18.09.2","EtcdVersion":"v3.3.8","HasSandboxRuntime":false,"KubernetesVersion":"1.14.8-aliyun.1","MultiAZ":false,"NameMode":"","OSType":"Linux","Platform":"CentOS","PodVswitchId":"","Provider":"","ResourceGroupId":"rg-acfmyvw3wjmb3uq","SubClass":"default","SupportPlatforms":null,"VersionSpec":null,"VpcCidr":"192.168.0.0/16"}", "resource_group_id": "rg-acfmyvw3wjmb3uq", "instance_type": "", "vpc_id": "vpc-2zecuu62b9zw7a7qnn2tv", "vswitch_id": "vsw-2zete8s4qocqg0mf6xd76", "vswitch_cidr": "", "data_disk_size": 0, "data_disk_category": "cloud", "security_group_id": "sg-2zedf74ifulatvx0z2ag", "tags": [ { "key": "ack.aliyun.com", "value": "cdde1f21ae22e483ebcb068a6eb7f358d" } ], "zone_id": "cn-beijing-a", "-": "PayByTraffic", "network_mode": "vpc", "subnet_cidr": "172.20.0.0/16", "master_url": "{"api_server_endpoint":"https://47.93.195.255:6443https://mirana.cs-cn-beijing.aliyuncs.com:4243https://192.168.0.79:6443"}", "external_loadbalancer_id": "lb-2ze3buguz3gx9920zwf24", "port": 0, "node_status": "", "cluster_healthy": "", "docker_version": "18.09.2", "swarm_mode": false, "gw_bridge": "", "upgrade_components": { "Kubernetes": { "component_name": "Kubernetes", "version": "1.14.8-aliyun.1", "next_version": "", "changed": "", "can_upgrade": false, "force": false, "policy": "", "ExtraVars": null, "ready_to_upgrade": "", "message": "", "exist": false, "required": false } }, "private_zone": false, "profile": "", "deletion_protection": true, "capabilities": null, "enabled_migration": false, "need_update_agent": false, "outputs": [ { "Description": "Log Info Output", "OutputKey": "LastKnownError", "OutputValue": null }, { "Description": "Error msg of ess scaling instance", "OutputKey": "NodesScalingErrorInfo", "OutputValue": null }, { "Description": "The mode we use in kube-proxy.", "OutputKey": "ProxyMode", "OutputValue": "ipvs" }, { "Description": "ScalingGroup ID", "OutputKey": "ScalingGroupID", "OutputValue": "asg-2zebrr08gt5uluh7u5ar" }, { "Description": "Ids of worker node", "OutputKey": "NodeInstanceIDs", "OutputValue": [ "i-2ze4ymrjuocpbc0cftdj", "i-2ze4ymrjuocpbc0cftdk", "i-2ze4ymrjuocpbc0cftdl" ] }, { "Description": "Count of ess scaling instance", "OutputKey": "NodesScalingAddedInstances", "OutputValue": 3 } ] 返回体解释 Cluster 的格式 名称 类型 描述 agent_version string Agent 版本号。 cluster_id String 集群 ID,集群的唯一标识。 created string 集群的创建时间。 external_loadbalancer_id String 集群负载均衡服务的 ID。 master_url string 集群 Master 地址,您可以通过该地址连接您的集群进行相关操作。更多详细信息,参见SSH 访问 Kubernetes 集群。 name string 集群名称,由您在创建集群时指定,在每个用户下唯一。 network_mode String 集群网络模式(VPC 网络: vpc)。 region_id String 集群所在地域 ID。 security_group_id String 安全组 ID。 size String 节点数。 state String 集群状态,running|stoped。 updated string 最后更新时间。 vpc_id string VPC ID。 vswitch_id string VSwitch ID。 示例 请求示例 GET /clusters/C5b5e80b0b64a4bf6939d2d8fbbc5**** HTTP/1.1 <公共请求头> 返回示例 HTTP/1.1 200 Ok <公共响应头> { "agent_version": "0.5-e56dab3", "cluster_id": "c978ca3eaacd3409a9437db07598f****", "created": "2015-12-11T03:52:40Z", "external_loadbalancer_id": "1518f2b7e4c-cn-beijing-btc-a01", "master_url": "https://182.***.***.***:17589", "name": "my-python-cluster-039de960", "network_mode": "vpc", "region_id": "cn-beijing", "security_group_id": "sg-25yqj***", "size": 5, "state": "running", "updated": "2015-12-15T15:01:58Z", "vpc_id": "", "vswitch_id": "" }

1934890530796658 2020-03-31 21:07:14 0 浏览量 回答数 0

问题

系统默认安装的vsftp的简单配置教程

mxf851x 2019-12-01 20:28:28 12219 浏览量 回答数 2

问题

在Mac OS X 10.5.6上运行Android 1.5模拟器时出现总线错误

LiuWH 2020-01-19 12:35:24 0 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播