小编Hug*_*own的帖子

如何在 Nginx.conf 中使用环境变量

我有一个运行 Nginx 的 docker 容器,它链接到另一个 docker 容器。第二个容器的主机名和 IP 地址在启动时作为环境变量加载到 Nginx 容器中,但在此之前不知道(它是动态的)。我希望我nginx.conf使用这些值 - 例如

upstream gunicorn {
    server $APP_HOST_NAME:$APP_HOST_PORT;
}
Run Code Online (Sandbox Code Playgroud)

如何在启动时将环境变量添加到 Nginx 配置中?

编辑 1

这是整个文件,在下面的建议答案之后:

env APP_WEB_1_PORT_5000_TCP_ADDR;
# Nginx host configuration for django_app

# Django app is served by Gunicorn, running under port 5000 (via Foreman)
upstream gunicorn {
    server $ENV{"APP_WEB_1_PORT_5000_TCP_ADDR"}:5000;
}

server {
    listen 80;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    location /static/ {
        alias /app/static/;
    }
    location /media/ {
        alias /app/media/;
    }
    location / {
        proxy_pass http://gunicorn;
    } …
Run Code Online (Sandbox Code Playgroud)

nginx docker

287
推荐指数
10
解决办法
32万
查看次数

如何在启动前保护 .NET (MVC) 网站?

我有一个正在开发的 .NET (MVC2) 网站。我已经将它部署到一些生产基础设施,并通过匿名访问在互联网上对其进行了测试(就像它一旦上线一样)并且它工作正常。从现在到上线日期,我想限制对一个小型测试组的访问。

但是,当我关闭匿名访问(我在 Windows 2008 R2 64 位上使用 IIS 7)并启用基本身份验证时,有两件事会出错:首先,它干扰了站点身份验证,并重定向到配置的站点登录页面,其次,由于某种原因样式表停止“工作”。即站点看起来好像没有样式表,即使它们被正确下载(如在 Fiddler/Firebug 中查看的那样。)

我想要的是保护对服务器的访问——我不想使用基本身份验证作为 MVC 网站的身份验证机制——由标准表单身份验证处理。我只是想阻止人们在网站上线之前窥探它。

我以前遇到过这种情况,并且一直在为缺乏简单/明显的“使用密码保护此服务器”功能而苦苦挣扎。

必须有一个简单的答案。(我正在考虑与 .htaccess 文件等效的功能,但对于 IIS)?

[更新] 继我的未遂事件之后(见下面的答案),我想要的是 Windows 身份验证来控制对网站的访问,以及 ASP.NET 身份验证来控制用户与网站的交互(他们的身份,是否出现记录输入/输出等)

iis windows-server-2008 asp.net http-basic-authentication

5
推荐指数
1
解决办法
673
查看次数