nginx通常用於作外網代理,配置也比較方便,可是配置不當的時候會產生一些安全問題。其中包括各個大廠也都出現過。nginx
intra server -> proxy -> nginx git
通常正常的流程是這樣的github
內網的集羣或機器不直接鏈接外部,nginx作個proxy代理透出傳遞互聯網。segmentfault
若是nginx配置不當,或者nignx default_server沒有配置或者配置內網,那麼當心內網業務將被透傳出去。安全
nginx 的 default_server 指令能夠定義默認的 server 去處理一些沒有匹配到 server_name 的請求,若是沒有顯式定義,則會選取第一個定義的 server 做爲 default_server
也就是說nginx若是沒配置default_server,那麼nginx會默認找一個a-z的域名進行匹配的,這個是nginx的默認規則,如配置default_server爲內網的業務,那麼nginx也會默認使用。ui
nginx 批量載入配置 conf 時會按 ascii 排序載入,這就會以 server_a.conf server_b.conf server_c.conf 的順序載入,若是沒有聲明 default_server 的話,那 server_a 會做爲默認的 server 去處理 未綁定域名/ip 的請求
以前fofa沙龍中的分享也提到了,好比辦公網透傳host綁定外網便可漫遊的狀況。.net
引用圖片:代理
參考連接:code
http://r3start.net/wp-content/uploads/2019/08/2019080916135087.pdf 議題PPTserver
https://github.com/baimaohui-net/Hosts_scan host碰撞腳本
https://segmentfault.com/a/1190000015681272 關於nginx default_server問題