ASP.NET 服务器 2019 上的 4.7 - HTTPS 提供 HTTP 503 - 服务不可用(在 Http 上工作)
ASP.NET 4.7 on Server 2019 - HTTPS giving HTTP 503 - Service Unavailable (Works on Http)
我们正在尝试在 Server 2019 上测试我们的网络应用程序,看看它们将如何工作。我们的 Team City 部署工作正常,现在我正试图弄清楚 Server 2019 发生了什么。
https:// 上的任何页面都会给我错误:
来源:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Service Unavailable</h2>
<hr><p>HTTP Error 503. The service is unavailable.</p>
</BODY></HTML>
如果我转到 Http:// 上的页面,它会起作用。
没有其他事情发生。
应用程序
该应用程序是一个 ASP.NET 4.6 MVC 应用程序。从 2012 年到 2016 年,它目前在多台服务器上运行,并且 windows 10 w/o 个问题。
设置:
- 全新的 AWS EC2(Web 应用程序)
- 4.7 的所有 ASP.NET 服务已安装。
- SQL 服务器安装在这个 EC2
- 列表项
- IIS 已设置正确的应用程序池(并且它们已启动)
- 绑定正确
- 我已授予网络服务和 IIS 用户对 /website/ 文件夹的完全控制权
- 绑定信息:
我做了什么
- 在 HTTP 503 上浏览了 ~30 个帖子 w/o 祝你好运。
- 我在其中一个应用程序中添加了一个 test.html 页面。我仍然收到 HTTP 503。
- 已验证根 SSL 证书安装正确
- 已安装中间 ssl 证书
- 向服务器添加了一个新用户,授予他们 "All" 权限和对 /websites/ 的完全控制权,将他们设置为应用程序池(重新启动的应用程序池)中的用户并且仍然是 503。
- Quintuple 检查了应用程序池以确保它们已启动。他们开始了。
- 我在事件日志或/服务器角色/Web 服务器 (IIS) 日志中没有看到任何错误。
- 运行 命令:netsh http show urlacl url=https://+:443/
我有时会遇到这两种情况:
Reserved URL : https://+:443/
Can't get security descriptor, Error: 87
Reserved URL : https://+:443/
SDDL: O:NS
我很茫然,因为我没有关于 503 为什么会回来的其他信息。就好像 IIS 不是 运行,因为它甚至无法提供 test.html 页面。我完全希望这会非常简单,我将面对手掌一周或 Server 2019 独有的东西。
从评论故障排除中提取的根本原因:
如果 IIS 正在为 http 上的应用程序提供服务,但收到 503 服务对 https 不可用,并且确认启用了 http 和 https 协议,请确认 SSL 端口 443 未被系统保留。
您可以通过 运行 从命令行执行以下操作来完成此操作:
netsh http show urlacl url=https://+:443/
如果输出确认 URL 已保留,那么您有两个选择:
通过运行ning命令删除预约
netsh http delete urlacl https://+:443/
***如果保留端口必须保持不变(运行 cmd netstat -a -n -o | findstr 443 在端口上找到 PID 运行ning 并使用进程资源管理器来识别来自 PID 的进程)然后使用选项 2
- 将您的应用程序重新配置到端口 8443 上的 运行(假设它未显示在保留的 url 列表中。
***虽然您可以使用任何端口连接到 运行 SSL,但浏览器会自动为 443 和 8443 添加前缀 https。在 443 和 8443 以外的端口上使用 SSL 通信的应用程序必须特别注意将用户重定向到 https,因为浏览器不会自动添加前缀。另请注意,某些接入点的常见做法是禁用不超过 80 或 443 的通信,因此环境因素可能会影响切换端口的使用……即对您的用户进行尽职调查:)
我们正在尝试在 Server 2019 上测试我们的网络应用程序,看看它们将如何工作。我们的 Team City 部署工作正常,现在我正试图弄清楚 Server 2019 发生了什么。
https:// 上的任何页面都会给我错误:
来源:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Service Unavailable</h2>
<hr><p>HTTP Error 503. The service is unavailable.</p>
</BODY></HTML>
如果我转到 Http:// 上的页面,它会起作用。
没有其他事情发生。
应用程序
该应用程序是一个 ASP.NET 4.6 MVC 应用程序。从 2012 年到 2016 年,它目前在多台服务器上运行,并且 windows 10 w/o 个问题。
设置:
- 全新的 AWS EC2(Web 应用程序)
- 4.7 的所有 ASP.NET 服务已安装。
- SQL 服务器安装在这个 EC2
- 列表项
- IIS 已设置正确的应用程序池(并且它们已启动)
- 绑定正确
- 我已授予网络服务和 IIS 用户对 /website/ 文件夹的完全控制权
- 绑定信息:
我做了什么
- 在 HTTP 503 上浏览了 ~30 个帖子 w/o 祝你好运。
- 我在其中一个应用程序中添加了一个 test.html 页面。我仍然收到 HTTP 503。
- 已验证根 SSL 证书安装正确
- 已安装中间 ssl 证书
- 向服务器添加了一个新用户,授予他们 "All" 权限和对 /websites/ 的完全控制权,将他们设置为应用程序池(重新启动的应用程序池)中的用户并且仍然是 503。
- Quintuple 检查了应用程序池以确保它们已启动。他们开始了。
- 我在事件日志或/服务器角色/Web 服务器 (IIS) 日志中没有看到任何错误。
- 运行 命令:netsh http show urlacl url=https://+:443/
我有时会遇到这两种情况:
Reserved URL : https://+:443/
Can't get security descriptor, Error: 87
Reserved URL : https://+:443/
SDDL: O:NS
我很茫然,因为我没有关于 503 为什么会回来的其他信息。就好像 IIS 不是 运行,因为它甚至无法提供 test.html 页面。我完全希望这会非常简单,我将面对手掌一周或 Server 2019 独有的东西。
从评论故障排除中提取的根本原因:
如果 IIS 正在为 http 上的应用程序提供服务,但收到 503 服务对 https 不可用,并且确认启用了 http 和 https 协议,请确认 SSL 端口 443 未被系统保留。
您可以通过 运行 从命令行执行以下操作来完成此操作:
netsh http show urlacl url=https://+:443/
如果输出确认 URL 已保留,那么您有两个选择:
通过运行ning命令删除预约
netsh http delete urlacl https://+:443/
***如果保留端口必须保持不变(运行 cmd netstat -a -n -o | findstr 443 在端口上找到 PID 运行ning 并使用进程资源管理器来识别来自 PID 的进程)然后使用选项 2
- 将您的应用程序重新配置到端口 8443 上的 运行(假设它未显示在保留的 url 列表中。
***虽然您可以使用任何端口连接到 运行 SSL,但浏览器会自动为 443 和 8443 添加前缀 https。在 443 和 8443 以外的端口上使用 SSL 通信的应用程序必须特别注意将用户重定向到 https,因为浏览器不会自动添加前缀。另请注意,某些接入点的常见做法是禁用不超过 80 或 443 的通信,因此环境因素可能会影响切换端口的使用……即对您的用户进行尽职调查:)