配置 IIS 网站以使用备用端口并接收访问权限错误

配置 IIS 网站以使用备用端口并接收访问权限错误

当我配置 IIS 在端口 1414 上运行网站时,出现以下错误:

--------------------------- Internet 信息服务 (IIS) 管理器
--------------------------- 该进程无法访问该文件,因为它正在被另一个进程使用。 (来自 HRESULT 的异常:0x80070020)

但按netstat该端口尚未使用。

完全脱离IIS,我编写了一个测试程序(只是为了打开端口并进行测试):

TcpListener tcpListener;
tcpListener = new TcpListener(IPAddress.Any, port);
try
{
     tcpListener.Start();
     Console.WriteLine("Press \"q\" key to quit.");
     ConsoleKeyInfo key;
     do
     {
          key = Console.ReadKey();
     } while (key.KeyChar != 'q');
 }
 catch (Exception ex)
 {
     Console.WriteLine(ex.Message);
 }
 tcpListener.Stop();

结果出现异常并出现以下ex.Message:

尝试以访问权限不允许的方式访问套接字

端口可用,但其“访问权限”不允许我访问。多次重启后,此问题仍然存在。

据我所知,该端口未被保留或使用,尽管 IIS 表示该端口正在使用,但 netstat 和我的测试程序却表示未使用,并且我的测试程序收到错误,提示我无权访问该端口。测试程序运行速度提升。IIS 站点正在运行 MQSeries,但由于此问题,MQ 侦听器也无法在端口 1414 上启动。快速搜索我的注册表后,没有发现任何与端口 1414 相关的内容。

什么是套接字访问权限以及如何更正我的权限以允许访问?

更新:端口 1414 的 netstat 输出。

C:\Windows\system32>netstat -ban|findstr 1414

C:\Windows\system32>

答案1

根据 IBM 文档,mq 默认为 1414,因此您无法让网站和 mq 使用相同的端口。(除非我误解了您的问题。)

答案2

出现上述错误是因为未将默认端口 8080 分配给系统。因此 IIS 管理器下的默认网站无法启动。为了解决上述错误,我按照以下步骤操作,这对我很有效。

步骤1 - 转到运行,输入cmd,将出现命令提示符。

第 2 步 - 我们需要找到哪个进程正在使用默认端口 8080。要找到它,请在命令提示符中输入以下命令。Netstat -ano

步骤 3 - 根据上图,端口 8080 正在由进程 3152 使用。现在我们需要找出为进程 ID 3152 分配了哪个应用程序。输入tasklist /fi “PID eq 3152”命令提示符并查看结果。

步骤 4 - 在 IIS 管理器中启动您的默认网站。它将正常工作。

欲了解更多详情,请查看这里

相关内容