【问题标题】:AWS add authentication layer on top of existing websiteAWS 在现有网站之上添加身份验证层
【发布时间】:2021-10-10 22:13:51
【问题描述】:

我有两个 AWS ec2 实例,一个用于生产,一个用于开发,都运行良好。

每个都有自己的域和所有必要的配置(certbox、nginx 等),因此开发实例可以使用模拟数据模拟生产,也可以捕捉仅存在于生产中的任何边缘/视觉问题。

例如, www.example.comdevelopment.example.com

问题是目前这两个网站都可以从公众访问。我知道robot.txt 文件可以从搜索引擎中隐藏开发网站。

但我想知道是否有任何可能的配置可以通过 AWS 在整个开发网站的顶部或实例内部添加一层简单的用户/密码。

我只是想确保开发网站不会与产品一起出现以混淆用户。 感谢 AWS 提供的任何链接,我只是无法构建正确的短语来查找文档。

【问题讨论】:

  • 您可能想查看HTTP basic authentication,这是最简单的选项之一。您可以使用 NGINX 和其他 Web 服务器来执行此操作。
  • @jarmod thx,让我们看看它是否是一个快速/可行的选择

标签: amazon-web-services amazon-ec2


【解决方案1】:

基于来自@jarmod 的链接。

我通过 nginx 快速设置了身份验证。

它通过简单的登录“浅层禁止”我的 SEO 测试网站。

注意:我的意图不是出于安全目的。

以下链接详细介绍了如何在 ubuntu 上使用 nginx 创建身份验证。

https://www.digitalocean.com/community/tutorials/how-to-set-up-http-authentication-with-nginx-on-ubuntu-12-10

我只是引用更少的关键行,以防将来链接失效。 所有学分都属于 DO。

第 1 步:Apache 实用程序 我们需要 htpasswd 为使用基本身份验证的用户创建和生成加密。使用以下命令安装 apache2-utils。

  sudo apt-get install apache2-utils

第 2 步:创建用户和密码 在由 nginx 提供服务的网站目录下创建一个 .htpasswd 文件。以下命令将创建该文件并向其中添加用户和加密密码。

  sudo htpasswd -c /etc/nginx/.htpasswd exampleuser

第 3 步:更新 Nginx 配置 您网站的 nginx 配置文件应位于 /etc/nginx/sites-available/ 下。为您要保护的域路径添加下面的两个条目。

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;

第二行是您网站的 htpasswd 文件的位置。

 server {
  listen       portnumber;
  server_name  ip_address;
  location / {
      root   /var/www/mywebsite.com;
      index  index.html index.htm;
      auth_basic "Restricted";                                #For Basic Auth
      auth_basic_user_file /etc/nginx/.htpasswd;  #For Basic Auth
  }
}

第 4 步:重新加载 Nginx

$ sudo /etc/init.d/nginx reload
               

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多