電腦上搭建HTTP服務器在局域網內其它客戶端無法訪問的解決方案

在電腦上開發一套HTTP服務器的程序在調試時,在本機內訪問正常,但是在本機外訪問就不正常,外部客戶端無法訪問或無法連接到本機的服務器的問題,這可能涉及網絡配置、防火墻、端口轉發或服務綁定等問題,在這里提供了解決方案可以查閱。

文章目錄

  • 問題描述
    • 正常訪問
    • 無法訪問
  • 解決問題
    • 方案一
      • 關閉網絡防火墻
    • 方案二
      • 改變網絡防火墻規則
      • HttpListenerException: 拒絕訪問問題

如你會C#編程開發桌面程序,想自己打造一個HTTP服務器,
可參考 《一個簡單的http服務器項目開發過程詳解》

問題描述

在電腦上,開啟HTTP服務器,也就是簡單的Web服務器,

遇到的問題,情況如下

正常訪問

設置的本地IP如 localhost, 或者127.0.0.1,在本機的瀏覽器能正常訪問,

無法訪問

而在外部的客戶端(電腦)連接本機局域網后卻發現無法正常訪問,

訪問不了,提示無法訪問此頁面,如下圖
圖片描述

溫馨提示
請點擊關注,確認您是人類用戶而非網絡自動化爬取程序。

放心關注
您的關注操作僅用于驗證身份,不會產生其他影響。您的關注記錄僅代表您曾訪問過這里。

以下是以操作的電腦系統是Windows 11為例

解決問題

要解決問題,現知道有兩個方案

方案一

關閉網絡防火墻

打開電腦桌面的菜單,在最上面的搜索輸入框,輸入控制面板,如下圖
圖片描述

找到Windows Defender 防火墻,點擊它,

然后再找到啟用或關閉Windows Defender 防火墻,并點擊,出現如下圖
圖片描述

優點:很容易關閉或開啟
缺點:關閉后,本機裸奔,上網不安全

此方案,隨著將來系統更新,可能不再容易找到,或被系統隱藏,或徹底消失!

方案二

改變網絡防火墻規則

打開電腦桌面的菜單,選擇設置,找到并選擇網絡和Internet
或者,
在電腦桌面的任務欄上,找到右側的網絡圖標,用鼠標右鍵點擊,會彈出選項,依次選擇網絡和Internet

找到高級網絡設置,如下圖
圖片描述
往下滾動,找到相關設置,Windows防火墻,點擊它,如下圖
圖片描述
打開后出現的標題是防火墻和網絡保護,在下面有一些文字都是可點擊的,

其中一個高級設置,點擊它,如下圖
圖片描述

這會打開一個高級安全WIndows Defender防火墻窗口,

在左側的選中入站規則,然后,在右側點擊新建規則,彈出一個對話框,就選擇端口,如下圖,
圖片描述
點擊下一頁,選擇TCP,和 特定本地端口,填入IP地址中的端口號8000,如下圖
圖片描述

實際上應填入你的IP地址中使用的端口號

點擊下一頁,默認選擇允許連接,不用管,如下圖
圖片描述
點擊下一頁,是作用域,默認全勾選即可,不懂的話,也不用管,如下圖
圖片描述
點擊下一頁,是不是感覺頁數有點多,到此了,這是最后一步,

輸入名稱描述,輸入內容要自己能理解就行,是為了方便下次能識別和找到,如下圖
圖片描述
點擊完成,在入站規則列表中,出現了剛才新增的規則,如下圖
圖片描述
到這里,想必是起作用了,那就重啟你的HTTP服務器看看,訪問是否正常了。

優點:保持上網安全
缺點:步驟多,操作麻煩,要使用的時候就開啟,不使用時就關閉

此方案,步驟多,對非計算機專業的用戶來說理解這些操作不容易,只照著去做。

HttpListenerException: 拒絕訪問問題

當你選擇最優項方案二:

可能遇到還是訪問不了,提示無法訪問此頁面,如下圖
圖片描述

設置了IP,應該是IP訪問權限問題,

在開發中使用HttpListener類搭建HTTP服務器,運行若報錯信息如下:

HttpListenerException: 拒絕訪問

這也是類似的IP訪問權限問題,

還得繼續解決,

在電腦桌面打開菜單,搜索框輸入命令提示符,以管理員身份運行,

也就是打開CMD終端管理員程序窗口,輸入如下命令

netsh http add urlacl url=http://192.168.1.120:1028/ user=Everyone

將此IP地址192.168.1.120:1028替換成你的,添加到白名單

當輸出已成功添加 URL 保留項,說明OK了,如下圖

再重啟你的HTTP服務器試試,可否正常訪問了,

不過,上面的命令執行后,之前的本地IP和端口訪問就會被拒絕,只需要從白名單中刪除

打開CMD終端管理員程序窗口,輸入刪除命令如下

netsh http delete urlacl url=http://192.168.1.120:1028/

就寫到這里,以上內容已整理完畢,建議收藏以防遺忘。

圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93378.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93378.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93378.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

雙指針和codetop2(最短路問題BFS)

雙指針和codetop21.雙指針1.[復寫0](https://leetcode.cn/problems/duplicate-zeros/)2.動態規劃1.[珠寶的最高價值](https://leetcode.cn/problems/li-wu-de-zui-da-jie-zhi-lcof/description/)2.[解碼方法](https://leetcode.cn/problems/decode-ways/)3.[下降路徑最小和](ht…

基于K鄰近算法(KNN)的數據回歸預測模型

一、作品詳細簡介 1.1附件文件夾程序代碼截圖 全部完整源代碼,請在個人首頁置頂文章查看: 學行庫小秘_CSDN博客https://blog.csdn.net/weixin_47760707?spm1000.2115.3001.5343 1.2各文件夾說明 1.2.1 main.m主函數文件 該MATLAB代碼實現了一個基于…

【123頁PPT】化工行業數字化解決方案(附下載方式)

篇幅所限,本文只提供部分資料內容,完整資料請看下面鏈接 https://download.csdn.net/download/2501_92808859/91654005 資料解讀:【123頁PPT】化工行業數字化解決方案 詳細資料請看本解讀文章的最后內容。化工行業作為國民經濟的重要支柱之…

c++--文件頭注釋/doxygen

文件頭注釋 開源項目: /*** file robot_base.cpp* author Mr.Wu* date 2025-05-28* version 1.0.0* brief Robot basic drive to communicate with controller** copyright Copyright (c) 2025 google.** Licensed under the Apache License, Version 2.…

【教程】筆記本安裝FnOS設置合蓋息屏不休眠

重裝FnOS好幾次了,合蓋后屏幕關閉但不休眠的問題每次都要網上找參差不齊的教程,麻煩死了,索性記錄一下方便以后復制粘貼。 使用root登錄 sudo -i修改系統配置文件編輯logind.conf文件: 打開終端,輸入以下命令以編輯log…

深入解析 Monkey OCR:本地化、多語言文本識別的利器與實踐指南

在信息爆炸的時代,從圖片、掃描文檔中高效提取結構化文本的需求日益迫切。OCR(光學字符識別)技術成為解決這一問題的核心工具。盡管市面上有 Abbyy FineReader、Adobe Acrobat 等商業巨頭,以及 Tesseract、PaddleOCR 等開源方案&a…

動態規劃法 - 53. 最大子數組和

什么是動態規劃法? 簡單說,動態規劃(Dynamic Programming,簡稱 DP) 是一種**「把復雜問題拆解成小問題,通過解決小問題來解決大問題」**的方法。 核心思路有兩個: 1.拆分問題:把原問…

STM32CUBEMX配置stm32工程

1.新建工程2.選擇芯片3.配置各種片上外設和時鐘4.創建工程5.根據文件內容進行修改工程注意:最好根據工程規范來做,因為有時我們需要更改配置并重新生成,如果不按規范來會導致部分代碼會被系統清除,在工程中中有很多成對的BEGIN和E…

Day07 緩存商品 購物車

緩存菜品問題說明用戶端小程序展示的菜品數據都是通過查詢數據庫獲得,如果用戶端訪問量比較大,數據庫訪問壓力隨之增大。結果:系統響應慢,用戶體驗差實現思路通過 Redis 來緩存菜品數據,減少數據庫查詢操作。緩存邏輯分…

Jenkins(集群與流水線配置)

Jenkins(集群與流水線配置) Jenkins集群 集群化構建可以提升構建效率,也可以并發在多臺機器上執行構建。 安裝前提:內存至少512MB、Java 17 以上、Maven環境、Git環境 配置集群步驟 配置節點菜單新建節點查看節點配置狀態 新建完節…

深入剖析ROS參數服務器通信機制 ——共享全局數據的“云端倉庫”實現原理

?1. 核心概念:分布式數據共享容器? ?定位?:ROS參數服務器(Parameter Server)是ROS架構中的全局共享存儲系統,相當于機器人的“云端倉庫”。 ?作用?: 存儲多節點共享的靜態配置參數(如機器…

21.AlexNet

雖然LeNet在手寫數字識別上取得了不錯的結果,但是他在對于更大的數據集效果就十分有限。 一方面,對于更大尺寸的圖像效果有限 另一方面,對于更多分類的任務效果有限 自LeNet后的十幾年,計算機視覺領域步入寒冬,神經網絡…

Shell腳本-條件判斷相關參數

一、前言在 Shell 腳本編程中,條件判斷 是實現流程控制的核心機制之一。無論是判斷文件是否存在、字符串是否相等,還是數值大小比較,都離不開條件判斷語句。本文將帶你全面掌握 Shell 腳本中與條件判斷相關的參數和語法,包括&…

何為“低空經濟”?

低空經濟(Low-Altitude Economy)是指以1000米以下空域(部分場景可延伸至3000米)為核心,以無人機(UAV)、電動垂直起降飛行器(eVTOL)、直升機、通航飛機等航空器為載體&…

線性代數 | 直觀理解一些概念

注:本文為 “線性代數 直觀理解概念” 相關合輯。 英文引文,機翻未校。 中文引文,略作重排。 如有內容異常,請看原文。 直觀理解線性代數的一些概念 2015-03-06 Updated: 2015-05-09 本文介紹矩陣的一些相關概念的直觀理解&…

Spring AI 集成阿里云百煉平臺

Spring AI 集成阿里云百煉平臺 創建API key 在阿里云百煉平臺創建API key設置系統變量。阿里云百煉 api key 創建 API 參考 官方API地址:https://bailian.console.aliyun.com (1)在阿里云百煉控制臺,選擇API參考菜單。 API…

Codeforces Round 859 (Div. 4) A - D + F - G2 題解

Codeforces Round 859 (Div. 4) A - D F - G2 題解A. Plus or Minus&#xff08;800 分難度&#xff09; 思路&#xff1a; 直接 if - else 判斷。 參考代碼&#xff1a; #include<bits/stdc.h> using namespace std; void solve(){int a, b, c;cin >> a >&g…

【Java web】Servlet 詳解

一、什么是 Servlet&#xff1f;—— 你不知道的 "網頁服務員"想象你走進一家網紅書店&#xff08;比如 "在線 Java 書店"&#xff09;&#xff0c;想買一本《Java 編程思想》。你告訴前臺服務員你的需求&#xff0c;服務員去倉庫找書、包裝、收款&#xf…

數據庫Microsoft Access、SQL Server和SQLite三者對比及數據庫的選型建議

SQLite本質是代碼庫&#xff0c;Access是單文件桌面DB&#xff0c;SQL Server是正經的C/S架構數據庫。這就像比較自行車、家用轎車和卡車&#xff0c;完全不同的設計目標。 核心區別對比表特性Microsoft AccessSQL ServerSQLite類型桌面DBMS (文件型)客戶端/服務器 RDBMS嵌入式…

【C++】默認構造函數,參數化構造函數,拷貝構造函數,拷貝賦值運算符, 移動構造函數 ,移動賦值運算符

1. 默認構造函數 (Default Constructor) 作用&#xff1a; 無參創建對象 簽名&#xff1a; ClassName() 特點&#xff1a; ①無參數或所有參數都有默認值 ②若未聲明任何構造函數&#xff0c;編譯器自動生成&#xff08;空實現&#xff09; ③用于容器默認初始化&#xff08;如…