Visual studio + IIS環境下跨域項目,移動端可觸發斷點調試的WEB服務器佈署

這個標題寫的我相當混亂,怎麼看都是四不像。因爲這篇文間涉及的東西的確有點凌亂,

不過目的還比較清晰的。先說說目的

1、  最終目的是實現跨域,跨域的目的是爲了前後端完全分離,這樣前端(手機(app)、電腦(純html+JS))同後臺只通過JSON數據轉遞,佈局、控件什麼都是前端自己的事,後端只提供數據


2、  開發過程中的調試斷點問題,前端斷點由前端開發工具設置這沒有什麼問題,但前端向後臺調用數據時,比較麻煩,

        2.1  我這裏用的是 Visual Studio2015 的開發環境,

        2.2  電腦(純html+JS) 和 後臺同臺機子開發、運行,該怎麼斷怎麼斷也沒有什麼問題

         2 .3  手機端的調試時.要怎麼斷,也就是這篇文章要解決的第二點

3、順帶解決外網訪問內網的WEB服務器的功能

 

最終達到效果是,用VS開發後臺並設置斷點,

如果你用手機訪問你本機的外網IP,Vs的斷點會是有效的

 

下圖描述了本文中涉及的硬件與軟件及他們之間的關係



1、  兩個路由的設置

a)        路由1設置虛擬服務器,指向路由2

                        i.             虛擬服務器添加並設置外部端口(90)、內部端口(80)、IP地址(192.168.1.100)

                      ii.             虛擬服務器添加並設置外部端口(9090)、內部端口(8080)、IP地址(192.168.1.100)

                     iii.             之所以外部端口設置90、9090,請看最後的注意點

b)        路由2設置,指向計算機

                        i.             虛擬服務器添加並設置外部端口(80)、內部端口(80)、IP地址(192.168.2.100)

                      ii.             虛擬服務器添加並設置外部端口(8080)、內部端口(8080)、IP地址(192.168.2.100)

2、  設置外網訪問

a)        iis 設置(Web站點,端口爲80)

                        i.             進入IIS

                      ii.             選擇網站,點擊右鍵-->編輯綁定-->添加本機局域網IP,如192.168.2.100

                     iii.             說明:路由的轉發規則將會指向192.168.2.100

b)        Visual Studio後臺項目端口爲8080   如產生的端口爲http://localhost:8080/

                        i.             打開applicationhost.config

                                       1.        vs2013以前的在  我的文檔\IISExpress\config

                                       2.        vs2015在項目目錄\.vs\config

                      ii.             找到8080端口的所在,找到

                                        <bindings>

                                          <binding protocol="http"bindingInformation="*:8080:localhost" />

                                        </bindings>

                     iii.             增加一條<binding protocol="http"bindingInformation="*:8080:192.168.2.100" />

3、  防火牆設置

          a)        在控制面板\系統和安全\Windows 防火牆中點擊“高級設置”

          b)        入站規則設置新建規則,選擇端口,分別設置80和8080

4、  8080是visualstudio項目,產生是在iisExpress下,如果出現Bad Request - Invalid Hostname,則用管理員身份運行cmd,然後運行以下語句

          a)        netsh http add urlacl url=http://192.168.2.100:8080/ user=everyone  

5、  注意點:

             a)        如果要輸入外網可訪問,在確認你的寬帶給你的外網IP,隨便百度一下“本機IP”上面顯示的就是你的外網IP,看看你路由1上的IP,如果IP不同,那你的就是運營商給你的內網IP,在同WIFI環境下,你在手機瀏覽器輸入你運營商給你的內網IP實現斷點也是可以的,但外網IP是訪問不到的,

             b)        如果你使用的是外網IP,在路由1,也就是和光貓連接的路由,儘量使用非8打頭的端口號,因爲很多運營商是屏蔽80 8080之類常用端口的,


發佈了46 篇原創文章 · 獲贊 14 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章