AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 63072
Accepted
Flip
Flip
Asked: 2009-09-08 07:50:46 +0800 CST2009-09-08 07:50:46 +0800 CST 2009-09-08 07:50:46 +0800 CST

Nginx - 使用身份验证反向代理到 IIS6

  • 772

出于测试目的,我为 IIS6 服务器设置了一个 nginx 反向代理,这工作正常。

但是当我尝试在 IIS6 网站上使用“Windows 身份验证”时,浏览器身份验证输入没有出现。

经过一番阅读,我发现很明显:) nginx 还不支持 HTTP/1.1 的反向代理!

我的问题:有没有人知道这种类型的请求的“解决方法”?

谢谢

iis-6
  • 2 2 个回答
  • 5010 Views

2 个回答

  • Voted
  1. Best Answer
    user28707
    2009-12-11T02:38:55+08:002009-12-11T02:38:55+08:00

    我在这里的测试环境中部分地得到了这个工作。

    背景

    我们有 IIS6 服务于我们的 Intranet CMS(CMS 是一个 ISAPI 插件)。这与 IIS 中的站点设置有关,用于集成 Windows 身份验证(用于安全性和用户个性化)。

    我想启用 gzip 压缩,但由于我们在 CMS 中启用了一些功能,我们无法通过 IIS 的 gzip 设置来执行此操作(如果我们这样做,它会在每次向 CMS 发出请求时崩溃)。

    因此,我目前正在测试一个在 IIS 前面使用 nginx 反向代理进行内容 gzip 压缩的设置。

    什么有效/什么无效?

    通过此设置进行的 IE6/7 身份验证仍然可以正常工作,我无需进行任何更改。

    然而,Firefox 需要改变。之前,在没有 nginx 的情况下,Firefox 已经network.automatic-ntlm-auth.trusted-uris设置为允许我们的 Intranet 服务器进行透明的 NTLM 身份验证。一旦 nginx 成为组合的一部分,您就会反复显示站点登录框,并且您的凭据将永远不会被接受。但是,添加 Intranet 服务器来network.negotiate-auth.trusted-uris解决此问题(适用于 Windows 上的 Firefox,但不适用于 OS X)。看来认证方法可能略有变化?以前允许 NTLM 身份验证工作正常的地方现在似乎在做 SPENGO?

    所以 IIS6 前面 nginx 的现状给我留下了:

    作品

    • XP上的IE6
    • XP上的IE7
    • XP 上的 FF3.5(更改 about:config 后)

    不起作用(凭证从未被接受)

    • OS X 上的 FF3.5
    • OS X 上的 Safari 3
    • XP 上的 Safari 4
    • 黑莓 8700(模拟器)
    • 黑莓 9000(模拟器)

    猜测为什么我的(部分)有效而您的无效...可能对于代理我的配置中但您的配置中缺少的身份验证握手至关重要?比如转发真实客户端IP?如果您想尝试一下,我的 nginx 配置的相关服务器部分如下所示。

    server {
        listen 80;
        server_name testintralive;
    
        location / {
            proxy_pass http://localhost:81;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_max_temp_file_size 0;
            proxy_connect_timeout 30;
            proxy_read_timeout 120;
        }
    }
    
    • 2
  2. Brian Henson
    2009-09-27T14:52:30+08:002009-09-27T14:52:30+08:00

    我可以让它工作的唯一方法是使用基本身份验证并等待 igor 完成下一个版本。下一个版本将解决这个问题(希望如此)

    • 0

相关问题

  • IIS 6.0 在带有“.”的文件上收到 404 错误。扩展名,仅此而已

  • IIS 内存回收通知

  • 在 Windows XP 64 上运行多个网站

  • 如何将 SMTP 直接从 IIS 6.0 服务器中继到 Exchange 2003 服务器

  • 启用集成 Windows 身份验证时,ASP(经典)在哪个帐户下运行?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve