CSRF_TRUSTED_ORIGIN
设置¶如果您在负载均衡器后面使用控制器,则可能需要 CSRF_TRUSTED_ORIGIN
设置。随着 Django 4.2 的更新,CSRF(跨站点请求伪造)检查更加严格。因此,在负载均衡器后面使用控制器在以前有效的情况下可能会导致问题。如果您遇到以下错误,则需要将源添加到 CSRF_TRUSTED_ORIGIN
设置中。
WARNING [b336a554] django.security.csrf Forbidden (Origin checking failed - https://localhost:3001 does not match any trusted origins.): /api/login/
有关如何解决此错误的更多详细信息,请参阅Django csrf-trusted-origins 文档。
对 ansible-runner 组件的启动方式(控制器启动以运行剧本的执行环境内的可执行文件)进行了一项更改,引入了向后不兼容性。强烈建议始终在与您使用的平台版本相对应的基本执行环境之上重建。这通常应该是升级的理想方式。
尽管能够在删除默认组织时运行后续安装,但它不会自动删除或修复重复的 Ansible-Galaxy 凭据。有关更多详细信息,请参阅有关如何从数据库中删除重复的 Ansible-Galaxy 凭据的 KCS 文章。
在 OpenShift 中部署自动化控制器时,目前不支持隔离节点。
autocomplete=off
设置¶自动化控制器利用表单上的 autocomplete=off
属性来中继到浏览器,指示它不应自动完成该表单内的字段。但是,在某些情况下,浏览器可能会忽略此设置并尝试保存和/或自动完成字段。这往往发生在看起来包含登录字段(如用户名和密码)的表单上,例如“用户”表单和某些“设置”表单。正在进一步调查以提供防止此行为的选项。
通过安全协议(HTTPS)有意限制对控制器的访问。在您的配置设置为在负载均衡器或代理后面运行控制器节点作为“仅 HTTP”的情况下,并且您只想在没有 SSL 的情况下访问它(例如,用于故障排除),则必须在位于控制器实例的 /etc/tower/conf.d
的 custom.py
文件中添加以下设置
SESSION_COOKIE_SECURE = False
CSRF_COOKIE_SECURE = False
将这些设置更改为 False
将允许控制器在使用 HTTP 协议时管理 Cookie 和登录会话。必须在集群安装的每个节点上执行此操作才能正确生效。
要应用更改,请运行
automation-controller-service restart
作业切分旨在水平扩展作业执行。在作业模板上启用作业切分会将要操作的清单划分为在启动时配置的切片数量,然后为每个切片启动一个作业。
预计切片数量将等于或小于控制器节点的数量。设置极高的作业切片数量(例如,数千个),虽然允许,但会导致性能下降,因为作业调度程序并非旨在同时调度数千个工作流程节点,而切分作业将成为这些节点。
配置最多六个 LDAP 目录以进行身份验证的功能需要一个值。在 LDAP 的设置页面上,有一个“默认”LDAP 配置,后面跟着五个编号的配置插槽。如果“默认”未填充,则控制器将不会尝试使用其他目录配置进行身份验证。
REMOTE_HOST_HEADERS
中使用 X_FORWARDED_FOR
存在潜在安全问题¶如果将控制器节点放置在某种类型的代理后面,这可能会带来安全问题。这种方法假设流量始终仅通过您的负载均衡器流动,并且绕过负载均衡器的流量容易受到 X-Forwarded-For
标头欺骗的影响。
当仅通过主机名(例如 https://my-little-controller)访问控制器时,尝试从 /sso/metadata/saml/ 读取 SAML 元数据会生成 sp_acs_url_invalid
服务器错误。
仅通过主机名而不是 FQDN 访问控制器时使用 SAML 的配置不受支持。这样做会生成一个错误,该错误会记录在 tower.log 文件中并在浏览器中显示完整的回溯信息。
在以前的自动化控制器版本中,SAML 适配器不会评估登录用户的系统审计员或系统管理员角色。因此,登录过程不会更改通过用户界面授予用户的系统角色。适配器现在有一个名为**SAML 用户标志属性映射**的设置,用于根据 SAML 属性或角色授予登录用户的这些角色,并且适配器默认为如果未指定则删除这些角色,类似于 LDAP 适配器。请参阅《自动化控制器管理指南》中SAML 章节中的逻辑表,该表显示了如何配置角色、属性和属性值设置以及是否会授予用户系统管理员/审计员角色之间的关系。
当出现问题时,自动化控制器仪表板顶部的实时事件状态点显示为红色或橙色点。当系统处于健康状态时,根本不会看到它们。如果您遇到红色或橙色实时事件状态指示器,即使您的系统看起来正常,以下建议可能提供解决方案
尝试手动刷新/重新加载浏览器页面。
尝试更改 Web 浏览器,因为据报道 Firefox 和 Safari 在信任自签名证书方面存在问题。
尝试创建一个与您的 DNS 匹配的自签名证书,并将其手动导入到您的信任存储中。
尝试使用隐身或私密浏览会话。
尝试禁用浏览器插件,以确保没有插件阻止服务。
实时事件状态点用于排查控制器实例的问题。您可以通过运行 sosreport
收集故障排除帮助。以 root 身份在您的系统上运行命令 sosreport
以自动生成诊断 tar 文件,然后与 Ansible 支持团队联系,提供收集的信息以获取进一步的帮助。
sosreport
是一个收集诊断信息的实用程序,支持团队可以使用这些信息来分析和调查您报告的问题。为了正确提供技术支持信息,请参阅 Red Hat 客户门户网站上的 关于 sosreport 的知识库文章 以执行以下步骤
安装 sosreport 实用程序。
将 sosreport 提供给 Red Hat 支持团队。
如果您有一个使用自签名证书的 VMware 实例,则需要将以下内容添加到云组的 源变量 配置中
"source_vars": "---\nvalidate_certs: False",
您可以在 VMware vCenter 的清单源中进行如下设置
通常,当由 root 或 awx 用户执行时,支持使用 awx-manage
命令。但是,在自动化控制器 4.0 中,即使以 root 用户身份运行,命令 awx-manage inventory_import
也无法通过托管 Red Hat 执行环境的私有注册表进行身份验证。解决方法是以 awx
用户身份运行该命令,因为安装程序应该已预先提取了映像,并且可以正确地进行身份验证。
如果控制器未干净地关闭,它会在磁盘上留下 /var/lib/awx/beat.db
文件。如果发生这种情况,调度程序将无法启动,您必须手动删除 /var/lib/awx/beat.db
文件并重新启动控制器,调度程序才能正确启动。
控制器中显示以下连接错误
此错误是 Safari 静默拒绝建立与使用自签名证书的 Web 套接字的连接导致的。要解决此问题,您必须在首次访问网站时将 Safari 设置为始终信任该网站
关闭当前浏览器并重新访问该站点。会出现一条错误消息,指出 Safari 无法验证网站的身份。
单击显示证书。
选中连接到…时始终信任…复选框以允许 Safari 接受连接。
如果您在不选中复选框的情况下单击继续,则此错误将持续存在。
所有剧本均由自动化控制器在称为自动化执行环境的 Linux 容器中执行。
使用 delegate_to: localhost
或 local_action
管理执行主机在此环境中将不起作用,因为它仍在容器内执行。
要管理正在运行执行操作的本地主机,您需要使用 ssh 连接插件从容器连接到本地主机。
自动化控制器中的作业隔离功能将剧本可用的目录限制为正在使用的项目。如果您尝试通过在 awx 用户的主目录中使用自定义 SSH 配置来自定义 SSH 行为,则必须将此目录添加到公开给容器的目录列表中。
例如,要添加 /var/lib/awx/.ssh/config
中的自定义 SSH 配置并使其可用于控制器作业,您可以在“设置”屏幕的“作业”选项卡中访问的“作业执行隔离路径”字段中指定路径
集群中的所有节点都会获得一个数据库服务器,即使这些节点没有数据库也是如此。这是意外的,可能会占用空间。
使用社交身份验证登录的用户被删除后,该用户将无法再次登录或重新创建,直到系统管理员使用 days=0
运行 cleanup_deleted
操作以允许用户再次登录。运行 cleanup_deleted
后,必须使用 automation-controller-service restart
命令重新启动控制器。在运行 cleanup_deleted
操作之前已删除的帐户在尝试登录时会收到“您的帐户处于非活动状态”的消息。
当从源代码控制项目使用清单时,支持单个保管库变量值。目前不支持保管库文件。
如果作业模板的配置已计划或添加到具有提示调查答案的工作流中,则更改作业模板调查以提供不同的变量名称可能会导致保存的配置无法正常工作。解决方法是删除保存的计划配置/工作流节点,并使用更新的调查答案重新创建它。