首页 文章

Elastic Beanstalk上Nginx服务器上的基本身份验证

提问于
浏览
3

我正在尝试在运行nodejs的弹性beanstalk实例上设置基本身份验证,但是,我似乎无法使其工作 . 我已经按照本指南Nginx Server on Amazon EC2,但http流量仍然通过nginx实例 . 我认为这是因为ec2实例上的nginx服务器不是我需要更改 virtual.conf 文件的服务器 . 我认为nginx服务器完全在另一个实例上,但我似乎无法找到它 . 我认为这是因为当我ping我的站点的域名时,它的IP是nginx服务器而不是我的弹性IP . 有关如何配置nginx以限制HTTP和https流量到Elastic beanstalk上的网站的任何想法?

1 回答

  • 1

    虽然这不是您问题的直接答案,但我在寻找AWS的HTTP基本身份验证资源方面遇到了很多麻烦 .

    我最终从Nginx切换到Apache并在PROJECT_ROOT / .ebextensions / apache.conf中使用了这个配置:

    files:
        "/etc/httpd/conf.d/allow_override.conf":
          mode: "000644"
          owner: ec2-user
          group: ec2-user
          encoding: plain
          content: |
            <Directory /var/app/current/>
               AllowOverride AuthConfig
            </Directory>
    
        "/etc/httpd/conf.d/auth.conf":
          mode: "000644"
          owner: ec2-user
          group: ec2-user
          encoding: plain
          content: |
            <Directory /var/app/current/>
              AuthType Basic
              AuthName "Myproject Prototype"
              AuthUserFile /etc/httpd/.htpasswd
              Require valid-user
            </Directory>
    
        "/etc/httpd/.htpasswd":
          mode: "000644"
          owner: ec2-user
          group: ec2-user
          encoding: plain
          content: |
            myusername:mypassword-generated-by-htpasswd
    

    注意,这并不理想,因为你最终在repo的源代码中有密码保护......但是,我无法在任何地方找到更好的方法 . 我正在探索将HTTP Auth烘焙到ec2实例中,将实例保存为AMI,并将该AMI用于我的beanstalk中自动生成的实例 .

    甚至不要让我在s3存储桶前面开始使用HTTP Auth,这是AWS不支持的,并要求您将DNS指向第三方服务!

相关问题