AKKA HTTP:限制訪問介面服務的請求HOST
介面服務部署上線後,需要對請求方進行限制,主要是限制請求的主機,只有指定主機發過來的請求才被受理,否則拒絕服務。akka http的API中的HostDirectives可實現此項功能,有以下三個可選項供選擇:
def host(hostNames: String*): Directive0
def host(predicate: String ⇒ Boolean): Directive0
def host(regex: Regex): Directive1[String]
限制主機名,主機判斷,正則匹配等等。詳細可參見官網文件:
https://doc.akka.io/docs/akka-http/current/routing-dsl/directives/host-directives/host.html#host
基於我的需求,只需要指定主機名就可以了,即第一個方法。
val route = host("hadoop01.com","hadoop02.com"){
get{
path("info"){
業務邏輯
complete("OK")
}
}
}
在傳送請求時在header中要將請求的Hostname新增進去,只有配置了允許的主機名才可以訪問。
需要說明的是,hostname要加在請求頭中,官網的說明:
相關推薦
AKKA HTTP:限制訪問介面服務的請求HOST
介面服務部署上線後,需要對請求方進行限制,主要是限制請求的主機,只有指定主機發過來的請求才被受理,否則拒絕服務。akka http的API中的HostDirectives可實現此項功能,有以下三個可選項供選擇: def host(hostNames: String*): Directive0
springboot 獲取訪問介面的請求的IP地址
工具類: package com.siit.vehicleApi.vehicleServiceInterface.util; import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import
esri的portal門戶:無法訪問分析服務、存在錯誤、圖層 無法新增到地圖中
轉載請註明作者(獨孤尚良dugushangliang)出處:https://blog.csdn.net/dugushangliang/article/details/85276025 esri公司的arcgis的portal門戶,報錯表示如下: 資料——存在錯誤。
【SSM分散式架構電商專案-15】Httpclient訪問介面服務
對外的介面服務 package com.taotao.manage.controller.api; import org.springframework.beans.factory.annotation.Autowired; import org.s
android http請求訪問介面的封裝
轉自 https://www.cnblogs.com/you411305469/p/5212479.html 裡面介紹了實用的兩種 要特別注意,向php請求資料是表單型別的資料 application/x-www-form-urlencoded import android.os
專案背景: 1、介面URL:http://192.168.xx.xx:8080/mserver/rest/ms 2、介面引數:data=xxxxx&key=xxxxx,資料是加密的 3、請求方式
專案背景: 2、介面引數:data=xxxxx&key=xxxxx,資料是加密的 3、請求方式:post 4、協議:http 實戰步驟 1、開啟fiddler 2、切換到【Composer】介面 3、選擇請求方式:POST 4、輸入介面地址 5
訪問python服務 http://127.0.0.1:8000/ 拒絕了我們的連線請求。的一種解決方式
上一篇文章中http://blog.csdn.net/wang725/article/details/73698455,描述了這個問題的情況,經過這幾天的嘗試,終於找到一種解決發方式。 嘗試解決的
Akka-CQRS(12)- akka-http for http-web-service: Routing-服務專案介面
上篇提到,按當前對web-service功能需要,我們需要完成資料轉換marshalling,服務介面routing這兩部分的調研和示範。上篇已經完成了對序列化marshalling的討論,這篇就介紹一下routing了。akka-http提供了一套功能強大,使用又很方便的Routi
問題解決系列: 後臺服務流量控制- 控制訪問別的服務的速度
發送 template 個人 exce 保護 rms 這一 ole 每分鐘 互聯網的後臺提倡大系統小做,微服務化。所以後臺服務之間相互依賴,我依賴別人的,別人也依賴我的,這很正常。但是後臺服務講穩定性。只有一切可控,才能談穩定性。為了不沖垮下遊的服務,我們有兩種做法:一種是
瀏覽器通過http協議通過nginx訪問ftp服務器上的文件
es2017 協議 alt com 默認目錄 blog nginx nbsp 訪問 1、修改nginx配置文件 2、修改nginx默認目錄為ftp默認目錄 3、修改成自定義路徑後,並修改此目錄第一行,修改為root或是nginx用戶 4、重新加載 cd /usr/lo
Linux服務器允許和限制訪問
etc inetd centos http cnblogs 立即生效 技術 redhat net 通過/etc/hosts.allow和/etc/hosts.deny兩個配置文件遠程限制某個IP和某段IP地址允許或拒絕訪問Linux服務器 SSH、FTP
Akka(30): Http:High-Level-Api,Routing DSL
operation sched 處理 tco null tsa 轉換成 簡單的 ndb 在上篇我們介紹了Akka-http Low-Level-Api。實際上這個Api提供了Server對進來的Http-requests進行處理及反應的自定義Flow或者轉換函數的接入界
Akka(34): Http:Unmarshalling,from Json
define data mda 活性 clas akka buffer 模式 use Unmarshalling是Akka-http內把網上可傳輸格式的數據轉變成程序高級結構話數據的過程,比如把Json數據轉換成某個自定義類型的實例。按具體流程來說就是先把Json轉換成
Akka(36): Http:Client-side-Api,Client-Connections
on() ans sport 轉換成 strategy result ora method shu Akka-http的客戶端Api應該是以HttpRequest操作為主軸的網上消息交換模式編程工具。我們知道:Akka-http是搭建在Akka-stream之上的。所
Akka(38): Http:Entityof ByteString-數據傳輸基礎
import req pre header 必須 討論 throw method 只需要 我們說過Akka-http是一個好的系統集成工具,集成是通過數據交換方式實現的。Http是個在網上傳輸和接收的規範協議。所以,在使用Akka-http之前,可能我們還是需要把Htt
Akka(39): Http:File streaming-文件交換
obj stream 構建 extract ucc ini existing set nload 所謂文件交換指的是Http協議中服務端和客戶端之間文件的上傳和下載。Akka-http作為一種系統集成工具應該具備高效率的數據交換方式包括文件交換和數據庫表行的上傳下載。A
JAVA的服務重定向:使用forward()方法轉發請求和使用sendRedirect()方法重定向的區別
文件 html 所有 arc 對象 get 通過 xtend val 使用RequestDispatche r的 forward()方法轉發請求和使用HttpServletResponse的 sendRedirect()方法重定向都可以使頁面轉到另外一個頁面,現在收集一下兩
使用scala基於AKKA HTTP開發REST介面的簡單例項
一般情況下會使用SpringMVC開發REST介面,但是公司主開發語言是scala,因此採用AKKA HTTP(spray已經不再維護)來開發REST介面,具體可參看官網文件:AKKA HTTP 本文依據官網開發REST介面,具體如下: 開發環境:IDEA,MAVEN,SCALA
Akka HTTP部署報錯:Could not resolve substitution to a value: ${akka.stream.blocking-io-dispatcher}
在idea中使用akka http完成服務端rest介面的開發與測試後,接著就可以部署到Linux伺服器上進行測試了,因為沒有限定pom中依賴包的scope為provided,所以打包時將依賴jar包也打進了專案jar包,方便執行測試,但是專案jar包較大,後續再分離依賴的jar包。打包時候po
AKKA HTTP報錯:requirement failed
使用akka http的spray json在把Map物件轉為json字串響應的時候報這個錯:requirement failed,檢視堆疊日誌顯示在BasicFormats這個類裡的StringJsonForamt報錯: 再進一步進入require方法: 這個r