今天臨時被抓去配置一臺windows server 2012房待。之前沒搞過啊践盼,linux下面各種相對熟悉思瘟。windows server什么鬼。于是在阿里云上配綁定公網(wǎng)IP囚似,開放端口剩拢。然后丟給其他團隊部署他們的服務(wù)。吃完飯回來饶唤,哥們兒告訴我徐伐,項目部署好了,但是只能localhost和127.0.0.1能訪問募狂。不管是內(nèi)網(wǎng)IP還是公網(wǎng)IP都不能訪問呵晨。
我去,什么問題都找我來了熬尺。windows server摸屠、IIS,什么鬼粱哼?你搞windows web開發(fā)的不會季二,找我還有理了。算了,誰叫我善良呢胯舷。
首先看看web服務(wù)是否起來刻蚯,好不容易找到IIS的服務(wù)配置的地方,各種停止桑嘶,重啟炊汹。看來服務(wù)啟動這塊沒啥問題逃顶。然后看看綁定的地址讨便,居然是"*",那應(yīng)該沒問題啊以政。通過命令行看看監(jiān)聽端口和服務(wù)器IP霸褒。
$ netstat -nao | findstr 7081
很明顯,只有127被綁定了盈蛮。怎么能是所有呢废菱。然后telnet連一下內(nèi)網(wǎng)和localhost的端口,內(nèi)網(wǎng)返回失敗抖誉。
$ telnet 172.16.47.121 7081
$ telnet 127.0.0.1 7081
看來問題大概是web服務(wù)綁定的IP不對殊轴。怎么把內(nèi)網(wǎng)IP綁定到web服務(wù)上呢。在阿里云上找到這個命令袒炉。
$ netsh http add iplisten ipaddress=172.16.47.121
把http的監(jiān)聽地址加上過后梳凛,再通過下面這個命令查看,明顯多了內(nèi)網(wǎng)的IP梳杏。
$ netsh http show iplisten
下面再看看7081這個端口監(jiān)聽時綁定的IP。生效了淹接。
現(xiàn)在打開內(nèi)網(wǎng)的http鏈接十性,正常訪問。一陣喜悅在心間流淌塑悼。
但是劲适,當(dāng)用公網(wǎng)IP打開的時候,又不行了厢蒜。然后再縷一遍霞势。安全策略組開放端口了,那就是防火墻了斑鸦。關(guān)掉防火墻果然生效愕贡。最后去添加防火墻規(guī)則。
總結(jié)下來巷屿,遇到這種問題固以。
- 檢查服務(wù)是否起來,起碼localhost對應(yīng)的端口是通的;
- 查看監(jiān)聽端口和服務(wù)器憨琳,最好出現(xiàn)0.0.0.0:7081, 如果沒有诫钓,那就把內(nèi)網(wǎng)IP加上;
- 查看是不是沒有在阿里云的安全策略組里開放相應(yīng)的端口篙螟;
- 查看是不是防火墻的問題菌湃,是不是被防火墻限制了。
如果這幾個操作都不能解決你的問題遍略,你還能向阿里云提工單惧所。這個就是花錢買云服務(wù)器的好處。起碼有個人能和你一起解決問題墅冷。