WebAPI隱藏預設首頁

2021-09-16 13:40:34 字數 1373 閱讀 5752

某專案需要通過webapi提供gis介面服務。開發完成,部署到客戶機後,客戶又提出,不希望人們能夠通過ip+埠號的方式直接訪問到介面服務**,以免直接在介面頁面進行測試或操作,導致資料安全方面的問題。

比如,介面部署好後,通過瀏覽器中輸入ip和埠,可以訪問到介面服務**:

並可以進一步訪問介面資訊:

而客戶希望看到的效果是,無論直接輸入ip加埠,還是進一步訪問介面頁面,都能返回乙個空白頁面,或者至少不會看到現有頁面上的資訊,達到隱藏首頁的目的,而又不影響介面呼叫。

webapi是基於mvc模型的乙個框架,我們所能看到的,屬於view的部分。這部分的樣式頁面,通過webapi框架動態載入出來。如果要隱藏掉預設首頁,至少有兩個思路:一是直接修改頁面內容或禁止其載入,二是每當載入頁面時自動跳轉到空白頁面。為了方便介面測試和呼叫,我們擬採用後一種思路解決問題。

首頁和api頁採用了相同的頁面布局,我們發現,其布局檔案位於\views\shared\_layout.cshtml檔案中。於是,思路很明確,在該頁面中加入自動跳轉到空白頁面的方法即可。

我們先在該專案中加入乙個空白的靜態html頁面,命名為blank.html。在_layout.cshtml中,可以直接寫c#**進行跳轉。

原來的布局檔案部分**擷取如下:

可以看到,以@開頭的部分為c#**,可以直接執行。

我們在其中加入自動跳轉到空白頁面的**後,如下:

同時,blank.html的body部分,我們加入一段文字,來進行測試。

編譯,執行,在瀏覽器中鍵入ip加埠,發現已自動跳轉到blank頁面,新增/help想檢視介面頁面時,也自動跳轉,原因在於二者使用相同的布局檔案。效果如下:

與此同時,介面的呼叫是不受影響的:

該更新只新增乙個html檔案及修改少量**,重新修改後,不需全部重新部署,而只要更新相應的修改檔案即可,非常方便

如果需要看到介面位址和進行介面測試,只需要使用雙斜槓遮蔽跳轉的那一行c#**即可,當然,也可刪除跳轉**

修改 Tomcat 預設首頁

2 修改 conf 目錄下的 server.xml 檔案,找到 標籤,然後新增 如下 name localhost unpackwars true autodeploy true documentation at docs config valve.html classname org.apache...

nginx設定預設首頁

nginx設定預設首頁 nginx不僅可以做反向 而且還能做web server。開啟配置檔案,設定自己主頁的路徑,和主頁名稱。cd usr local nginx conf vi nginx.conf 配置nginx listen 8080 location 重新啟動一下,這樣子我們的配置才可以生...

Java Web 預設訪問首頁方式

1.在工程的web.xml檔案中配置 index.jsp 2.使用urlrewrit位址重寫,首先是匯入urlrewrite 的jar包,在web.xml中配置 urlrewritefilter org.tuckey.web.filters.urlrewrite.urlrewritefilter r...