我正在尝试从另一个状态重新运行状态。我没有使用watch或watch_in等b/c,我希望它每次都能运行。我配置了所有的nginx虚拟主机,然后在最后运行另一个名为nginx-certs的状态,相关部分如下:
nginx-frontend:
module.run:
- name: state.sls
- mods:
- nginx-frontend在高状态期间,我看到state_id被执行,但没有注释,也没有显示它重新运行该状态,它只是作为Result: True完成。然后我可以跳到salt主机并运行sudo salt webserver state.sls nginx-certs,当它访问nginx-frontend时,它会重新加载所有的虚拟主机,将新的证书放入配置中。
我很好奇为什么这个不能在高州运行。
我已经尝试了上面概述的简单块的所有不同变体。这个可以工作,但不能在高状态下工作,这是我的目标。
如果你想知道我为什么这样做,所有用于生产和升级的证书都在HAProxy和nginx上终止,只提供80/http1 81/h2,但在构建开发服务器时,我希望将证书直接分配给服务器,因为它将面向公众。我需要首先构建虚拟主机以打开端口80,该端口用于get encrypt。然后,当证书可用时,更新nginx vhosts侦听指令和证书路径。
发布于 2019-10-02 20:44:21
据我所知:您有一台服务器,您希望在端口80上临时配置Nginx,然后使用letsencrypt生成其证书,然后将Nginx配置更改为端口443。
您可以做的是:
<代码>F29
# custom_nginx.sls
include:
- temp_nginx_on_port_80
- letsencrypt_cert
- nginx1为此,我认为最好使用社区https://github.com/saltstack-formulas/nginx-formula/中的公式,并使用支柱数据对其进行配置。显然,如果你在步骤3中使用它,你将不能在步骤1中使用(或者至少我现在不知道如何使用)
https://stackoverflow.com/questions/57861346
复制相似问题