【问题标题】:How to pass domain name to Nginx conf through chef如何通过chef将域名传递给Nginx conf
【发布时间】:2015-10-28 10:34:21
【问题描述】:

我已经通过 Chef 安装了 Nginx,但我必须将“AWS 实例公共 IP 传递给 Chef Recipe”

我正在创建 AWS 实例,并通过 Chef 在该实例上安装了我的应用程序。

我必须使用我的默认安装方法和我的 Nginx.conf 配置文件来运行 nginx

那么我们如何在我的 Nginx 配置中使用新创建的实例公共 IP 或 EC-2 URL,即代替 server_name 以便我可以浏览 URL?或者如何将域名传递给 Nginx.conf ?

【问题讨论】:

    标签: amazon-web-services nginx chef-infra


    【解决方案1】:

    您可以使用 EC2 元数据:

    curl http://169.254.169.254/latest/meta-data/public-ipv4
    curl http://169.254.169.254/latest/meta-data/public-hostname
    

    要获取所有可用密钥的列表,请尝试以下操作:

    curl http://169.254.169.254/latest/meta-data/
    
    ami-id
    ami-launch-index
    ami-manifest-path
    block-device-mapping/
    hostname
    instance-action
    instance-id
    instance-type
    local-hostname
    local-ipv4
    mac
    metrics/
    network/
    placement/
    product-codes
    profile
    public-hostname
    public-ipv4
    public-keys/
    reservation-id
    security-groups
    

    尽管如此 server_name 可以为空,请参阅the docs

    如果在 server 块中没有定义 server_name,则 nginx 使用 空名称作为服务器名称。最高 0.8.48 的 Nginx 版本使用机器的主机名作为服务器 在这种情况下的名称。如果服务器名称被定义为“$hostname”(0.9.4), 使用机器的主机名。

    【讨论】:

    • 感谢 Anatoly.... 但我正在使用 Chef 工具,所以在 Chef 工具中。如何将 Aws 控制台中的实例 IP 或 EC2 URL 传递给 Nginx.conf ?
    【解决方案2】:

    您可以利用 ohai 插件 ec2 提供正确的属性,在这种情况下主要是 node['ec2']['public_ipv4']

    缺点是 taht ohai 无法猜测自己是在 AWS 实例上并且不运行插件,为此您必须创建一个提示文件,希望有一个 cookbook 用于此。

    也有在厨师运行中创建提示的示例,但它们是相当复杂的 IMO,这就是我要做的(未经测试,如果它坏了,请评论):

    # Resource to reload the ec2 plugin if the hint is created
    ohai 'ec2' do
      plugin 'ec2' 
      action :nothing
    end
    
    ohai_hint 'ec2' do
      notifies :reload, 'ohai[ec2]', :immediately # to force ohai to run the ec2 plugin now
    end
    

    您在运行列表的早期就找到了这个食谱,并且这个 ercipe 的食谱必须有一个 depends 'ohai' 在它的 metadata.rb 中才能加载 ohai 食谱。

    【讨论】:

      猜你喜欢
      • 2017-03-10
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 2021-07-25
      • 1970-01-01
      相关资源
      最近更新 更多