Jenkins-升上2.223的安全性問題解決
問題
1.同事回報在Jenkins的操作出現錯誤,訊息如下:
No valid crumb was included in the requestSERVLET
2.AzureDevOps的push trigger無法觸發,發生403錯誤。
以上發生是在Jenkins 版本升上 2.223所遇到問題。
解決方式
1.在防止跨站點請求偽造的設定,將代理相容性打勾。
此問題發生在公司的測試主機上,正式主機無此問題。在搜尋相關文章後,方向往安全性設定尋找,比對了2台主機的設定後,找到了差異的地方,設定後,回復正常。
ps:此設定原本是Prevent Cross Site Request Forgery exploits,之前為了讓第三方網站呼叫,把它停用。更新最新版後,Enable proxy compatibility 就變成是未勾選狀態。
2.第三方網站呼叫Jenkins要改用toke的驗證。原本使用的是帳號/密碼的方式,會出現403錯誤。
- 建立token,進入位置:http://localhost:8080/user/[你的帳號]/configure。
- 紅框的token,建立後只會顯示一次,代替原本使用的密碼。
- 更新AzureDevOps 的User API token,輸入將剛在Jenkins建立的token。
其它參考