小编Mic*_*ael的帖子

如何控制 IIS7 使用的 IP 地址?

在 Win2k3 中,我曾经httpcfg告诉 IIS 侦听服务器上的特定 IP 地址。我想在另一个 IP 地址的端口 80 上使用 VisualSVN 服务器运行 Apache,但 IIS7 默认绑定到所有 IP 地址。

IIS7 的哪个实用程序控制 IIS7 绑定?

iis windows-server-2008 iis-7

18
推荐指数
1
解决办法
3万
查看次数

虚拟目录到 UNC 路径的权限问题

我的站点(测试环境)中有一个虚拟目录。它是一个 UNC 共享,也用作公共 FTP。

它被配置为作为域管理员帐户连接,并且“测试设置”表示一切似乎都在工作。但是,当我尝试连接到它时,我得到:

500 - “由于访问被拒绝,无法开始监视 \INTRANET\FTP\test\web.config 上的更改”

这是一个 ASP.NET YSOD。我不知道为什么 ASP.NET 会参与进来,因为它是我请求的静态 .jpg 文件。

我尝试打开失败的请求跟踪,这是特定错误:

  • 模块名称 WindowsAuthentication
  • 通知 2
  • HttpStatus 500
  • HttpReason 内部服务器错误
  • HttpSubStatus 0
  • 错误代码 0
  • 配置异常信息
  • 通知 AUTHENTICATE_REQUEST
  • ErrorCode 操作成功完成。(0x0)

如果我将“物理路径登录类型”从 ClearText 更改为 Network。我收到以下 IIS 错误:

HTTP 错误 500.19 - 内部服务器

错误无法访问请求的页面,因为该页面的相关配置数据无效。

详细的错误信息

  • 模块IIS Web 核心
  • 通知开始请求
  • 处理程序尚未确定
  • 错误代码 0x80070005
  • Config Error由于权限不足无法读取配置文件
  • 配置文件 \\?\UNC\INTRANET\FTP\test\web.config
  • 请求的 URL http://test.mydowmain.com:80/uploads/images/ca49acf6-6174-412e-8abd-59fab983e931.jpg

  • 物理路径 \\INTRANET\FTP\test\images\ca49acf6-6174-412e-8abd-59fab983e931.jpg

  • 登录方法尚未确定

  • 登录用户尚未确定
  • 失败请求跟踪日志目录 C:\inetpub\logs\FailedReqLogFiles

奇怪的是,这不会生成失败的请求日志——我已将失败的请求跟踪设置为跟踪错误代码为 400-999 的错误。

另外值得注意的是,如果我从 IIS …

iis permissions unc virtual-directory

13
推荐指数
2
解决办法
7万
查看次数

SSH 选项 CheckHostIP=yes 对我有何帮助?

关于此选项有很多讨论,大多数人认为“它提高了安全性”、“它可以保护您免受 MiTM 攻击/DNS 欺骗”等,但我不明白这是怎么回事。ssh_config(5)说这个选项

允许 ssh 检测主机密钥是否因 DNS 欺骗而更改

但它仍然显得模糊甚至误导,因为

  1. 该选项不会检测“主机密钥是否已更改”,而仅检测主机的 IP 是否已更改,并且
  2. 它没有详细说明当它检测到这样的事情时它会做什么(例如,它是否会阻止连接发生?)。

由于文档含糊不清,其他人甚至似乎认为CheckHostIP=yes不会您连接到已更改 IP 的主机(即它的 IP 与已记录的 IP 不同known_hosts),这是完全不真实的,位于至少据我自己的测试可以理解。

  • CheckHostIP=yes当我(默认)连接到主机密钥已存储在 中known_hosts但已更改其 IP 的远程服务器时,连接正常进行,但我收到警告:

    永久添加 IP 地址的 ECDSA 主机密钥 [......]

    另外,还会在 中添加一个新行known_hosts,其中包含服务器的主机密钥(未更改)和新的 IP 地址(不同)。如果主机稍后再次更改其 IP,则下次我使用 来连接它时CheckHostIP=yes,将附加一个新行,known_hosts依此类推。

  • 如果我连接CheckHostIP=no到已更改其 IP 地址的服务器,连接将继续(这也是 发生的情况CheckHostIP=yes),但这次没有警告或在 中附加新行known_hosts

yes因此,和之间的唯一区别no似乎是连接时的简单一行警告,以及known_hosts每次主机更改其 IP 时记录新地址(有效地保留服务器不同 IP 的历史记录)。

如果是这样的话,我什至不确定这CheckHostIP=yes比 …

domain-name-system ssh man-in-the-middle

11
推荐指数
1
解决办法
2276
查看次数

appcmd 没有足够的权限读取 redirection.config

我的 IIS7 有这个问题:

C:\Users\vtortola.dk>%windir%\system32\inetsrv\appcmd.exe list site
ERROR ( message:Configuration error
Filename: redirection.config
Line Number: 0
Description: Cannot read configuration file due to insufficient permissions
. )
Run Code Online (Sandbox Code Playgroud)

每次我尝试将 ASP.NET 应用程序发布到我的计算机时,我都无法使用它,因为 IIS 无法读取配置文件,我不知道如何解决这个问题。

我在 找到了该文件C:\Windows\System32\inetsrv\config,其权限适用于:

  • 系统
  • 我的域/我
  • 管理员 (MyPC\Administrators)
  • 受信任的安装程序

这样对吗?可能有什么问题?

iis-7 appcmd

7
推荐指数
1
解决办法
2万
查看次数

如何以“IIS APPPOOL\MyAppPool”用户身份手动运行应用程序

我试过:

runas /noprofile /user:"IIS APPPOOL\MyAppPool" cmd.exe
Run Code Online (Sandbox Code Playgroud)

但它要求我输入密码。我的管理员密码在那里不起作用。

我得到:

RUNAS 错误:无法获取用户密码

iis iis-7 runas

7
推荐指数
1
解决办法
4949
查看次数

Server 2022 SMTP 服务器问题

这是 Server 2022 Standard 21H2 的全新安装。我正在尝试配置 SMTP 服务器,以便客户端应用程序可以在内部发送电子邮件。

当我打开 IIS 6.0 管理器并右键单击 SMTP 虚拟服务器时,通常会生成以下错误:

SMTP 服务器错误

如果我尝试得足够频繁,我就可以进入并配置设置。尽管每当我尝试通过 SMTP 服务器发送邮件时,SMTP 服务都会停止并记录以下事件:

事件日志

谁能建议我从哪里开始解决这个问题?

windows-server-2022

6
推荐指数
2
解决办法
3万
查看次数

URL 重写条件可以比较两个服务器变量吗?

我正在尝试将两个服务器变量作为 URL 重写条件的一部分进行比较。但首先,一些背景...

在 IIS 中,如果您请求http://www.example.com/foo并且foo是一个目录,则 IIS 会将 302“移动对象”重定向http://www.example.com/foo/作为“礼貌重定向”(Source)发送到。

如果您使用 IIS+ARR 作为具有 SSL 卸载的反向代理,后端 IIS 节点接收的请求是通过 http 而不是 https。

结合这两种行为,IIS 的礼貌重定向会丢弃 SSL。礼貌重定向使用与 IIS 收到的请求()相同的方案,在这种情况下是 http 而不是 https。

我想创建一个出站重写规则,将传入 URL 与传出 Location 标头进行比较,并在这种情况下将其从 http 重写为 https:

  • 响应是重定向:{RESPONSE_STATUS}是 302
  • 传入的请求是通过 SSL: {HTTPS}is "on"
  • 传入的 URL 不以斜杠结尾。
  • 传出的 Location 标头以斜杠结尾。

以上都是在前提条件下处理的。棘手的部分是最后一点:

  • 传出 Location 标头的路径与传入 URL 相同,并附加了斜杠。

下面是我到目前为止的代码。前提条件和标头重写都可以正常工作。但是,该条件会导致 500 错误(URL 重写模块错误),大概是因为我{REQUEST_URI}在模式中使用。我尝试将条件分成两个并使用捕获组,但这也不起作用。有任何想法吗?

<rule name="Fix: Courtesy Redirect + SSL Offloading = …
Run Code Online (Sandbox Code Playgroud)

rewrite iis-7.5 arr outboundrules

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

我可以将通配符与 SAN 自签名证书一起使用吗?

我们有一个可通过 Internet 访问的开发服务器,但受 IP 限制,因此这里的安全性只是允许我们重现实时环境的一种方式,而不是试图确保安全。顶级域,我们称之为dev.com,未使用,但开发人员将每个站点设置在他们自己的特定子域中。所以我们可以说有site1.comsite2.com并且site3.com,然后开发商georgenico将有完整的URL,如:

  • www.site1.com.george.dev.com
  • www.site2.com.george.dev.com
  • www.site1.com.nico.dev.com
  • 等等

我最初认为通配符自签名证书可以,但后来发现*.dev.com仅适用于something.dev.com子域而不适用于子子域。我决定按照此答案中的说明进行操作。当我使用:

DNS.1 = www.site2.com.nico.dev.com
DNS.2 = www.site1.com.george.dev.com
Run Code Online (Sandbox Code Playgroud)

一切正常,但不幸的是,许多站点有很多开发人员,因此这里有超过 100 个条目DNS.x。我想知道是否可以在[ alternate_names ]我的openssl.cnf. 我尝试了以下方法:

DNS.1 = dev.com
DNS.2 = www.site1.com.george.dev.com
DNS.3 = *.*.*.nico.dev.com
Run Code Online (Sandbox Code Playgroud)

虽然DNS.2有效,DNS.3但没有,NET::ERR_CERT_COMMON_NAME_INVALID在 Chrome 中给我错误。

有没有办法做到这一点,还是我必须生成一个很长的DNS.x条目列表来涵盖所有站点?

我听说通过创建我自己的 CA 这将是可能的。我遵循了这个答案的重要说明。用我自己的CA完好我创建了一个证书DNS.1一样的通用名称和DNS.2DNS.3的,象这样的通配符:

DNS.1 = …
Run Code Online (Sandbox Code Playgroud)

https wildcard ssl-certificate

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