Get-Command *http*
后,你会看到与 HTTP 相关的命令和工具的列表。以下是这些命令和它们的简要描述:
1. NetworkTransition 模块中的 cmdlet
这些 cmdlet 主要与 IP-HTTPS
相关,它是一种支持 IPv6 网络过渡的技术。以下是与 IP-HTTPS
配置和状态管理相关的 cmdlet:
- Add-NetIPHttpsCertBinding:将证书绑定到 IP-HTTPS 配置中。
- Disable-NetIPHttpsProfile:禁用 IP-HTTPS 配置文件。
- Enable-NetIPHttpsProfile:启用 IP-HTTPS 配置文件。
- Get-NetIPHttpsConfiguration:获取当前的 IP-HTTPS 配置信息。
- Get-NetIPHttpsState:获取 IP-HTTPS 的状态信息。
- New-NetIPHttpsConfiguration:创建新的 IP-HTTPS 配置。
- Remove-NetIPHttpsCertBinding:从 IP-HTTPS 配置中移除证书绑定。
- Remove-NetIPHttpsConfiguration:删除现有的 IP-HTTPS 配置。
- Rename-NetIPHttpsConfiguration:重命名现有的 IP-HTTPS 配置。
- Reset-NetIPHttpsConfiguration:重置 IP-HTTPS 配置。
- Set-NetIPHttpsConfiguration:设置或更新 IP-HTTPS 配置。
这些 cmdlet 主要用于配置和管理 IP-HTTPS 相关的设置,通常在网络过渡或需要支持 IPv6 和 IPv4 并存时使用。
2. WinHttpProxy 模块中的 cmdlet
这些 cmdlet 与 Windows HTTP 代理配置相关,WinHTTP 用于处理 HTTP 请求,通常在代理配置和网络设置中使用。
- Export-WinhttpProxy:导出当前的 WinHTTP 代理配置。
- Get-WinhttpProxy:获取当前的 WinHTTP 代理设置。
- Import-WinhttpProxy:导入 WinHTTP 代理配置。
- Reset-WinhttpProxy:重置 WinHTTP 代理设置。
- Set-WinhttpProxy:设置 WinHTTP 代理配置。
这些命令主要用于配置和管理 Windows HTTP 代理(WinHTTP),通过它们你可以查看或调整代理设置,以确保 HTTP 流量通过正确的代理服务器。
3. WSManHTTPConfig 工具
- WSManHTTPConfig.exe:这是一个可执行文件,用于配置和管理 Windows 远程管理(WSMan)协议的 HTTP 配置。该工具通常用于配置服务器的远程管理和访问权限,包括通过 HTTP 的 WSMan 服务。
这些命令覆盖了从管理 IP-HTTPS 配置到设置和调整 WinHTTP 代理的各个方面,适用于需要配置网络过渡、代理服务器或远程管理的场景。通过这些 cmdlet,你可以调整 HTTP 流量的管理、代理设置、网络过渡的配置,或使用 WSMan 管理远程服务器。
PS C:\Users\Administrator> Get-Command *http* CommandType Name Version Source |
-
Windows Server 2022 的某些版本或配置中,并没有直接的注册表项可以控制 HTTP/2 的启用和禁用。HTTP/2 通常是自动启用的,但如果您确实需要强制启用或禁用它,可以通过注册表或 IIS 配置进行调整。
启用或禁用 HTTP/2
-
启用 HTTP/2:
在 Windows Server 2022 中,HTTP/2 是默认启用的,并且应该不会单独列出在
EnableHttp2
注册表项中。要启用 HTTP/2,确保您的 IIS 或 HTTP 服务支持它,并且通过以下步骤手动检查:-
打开注册表编辑器 (
regedit
),然后导航到:Copy CodeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
-
如果没有
EnableHttp2
这个键值,可以创建一个新的DWORD
类型的EnableHttp2
键,并将其值设置为1
来启用 HTTP/2。
-
-
禁用 HTTP/2:
如果您需要禁用 HTTP/2,可以将
EnableHttp2
的值设置为0
。
确保 HTTP/2 或 HTTP/3 启用
确保您的服务器和客户端都支持 HTTP/2 或 HTTP/3。如果您希望启用 HTTP/3,可以检查 TLS 1.3 是否已启用,因为 HTTP/3 必须依赖于 TLS 1.3。
3. 检查 HTTP/3 配置
如果您的目标是确保 HTTP/3 被启用,可以检查 TLS 1.3 的配置:
-
打开注册表编辑器 (
regedit
),然后导航到:Copy CodeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
-
查看或创建
EnableHttp3
注册表键,并将其值设置为1
以启用 HTTP/3。 -
确保
TLS 1.3
已启用,可以通过以下命令验证:
powershellCopy CodeGet-TlsCipherSuite | Where-Object {$_.Name -like "*TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256*"}
如果返回了支持的 TLS 1.3 加密套件,则说明 TLS 1.3 已启用,进而支持 HTTP/3。
4. 查看 HTTP 服务状态
对于 HTTP 服务的状态,您可以使用
Get-Service
或Get-WmiObject
来查看 HTTP 服务是否正常运行。powershellCopy CodeGet-Service -Name http
-