一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Spring Cloud出現(xiàn)Options Forbidden 403問題解決方法

Spring Cloud出現(xiàn)Options Forbidden 403問題解決方法

2021-01-31 17:141csh1 Java教程

本篇文章主要介紹了Spring Cloud出現(xiàn)Options Forbidden 403問題解決方法,具有一定的參考價值,有興趣的可以了解一下

摘要:本文簡述了博主在開發(fā)過程中,需要跨域調(diào)試的時候,出現(xiàn)了 options 請求 forbidden 的問題,以及解決方法。

403 forbidden 解釋:

forbidden
you don't have permission to access / on this server.
additionally, a 500 internal server error error was encountered while trying to use an errordocument to handle the request.

403 forbidden 是http協(xié)議中的一個狀態(tài)碼(status code)。可以簡單的理解為沒有權(quán)限訪問此站點。

問題

Spring Cloud出現(xiàn)Options Forbidden 403問題解決方法

在使用 spring cloud 的項目中,本地跨域調(diào)試發(fā)現(xiàn) post 請求轉(zhuǎn)為了 options 請求,并且服務(wù)端拒絕訪問,其實是 cors 請求的問題。

cors 請求分為2類: 簡單請求 和 非簡單請求。兩者主要的區(qū)分點在于:

1: 請求方法為 head, get, post;

2: http 頭信息為以下幾個: accept, accept-language,content-language, last-event-id,content-type (值為 application/x-www-form-urlencoded、multipart/form-data、text/plain)。

只要滿足以上兩點,則為簡單請求;否則為非簡單請求。

簡單請求的處理方式是瀏覽器直接發(fā)送 cors 請求。非簡單請求的處理方式是瀏覽器發(fā)送預(yù)檢請求,表示詢問服務(wù)器當(dāng)前的域名是否可以訪問正常服務(wù)器,如果可以訪問,則發(fā)送正常的請求到服務(wù)器;否則報錯。

現(xiàn)在確定遇到的問題就是在 cors 請求預(yù)檢的時候發(fā)現(xiàn)域名不在服務(wù)器端的白名單里面,所以需要修改服務(wù)端的請求返回報文。

解決方案

在網(wǎng)關(guān)中添加下面的過濾器,在每次請求返回報文中添加報文頭,即可正常訪問

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@component
public class corsfilter implements filter {
 
  @override
  public void dofilter(servletrequest req, servletresponse res, filterchain chain) throws ioexception, servletexception {
    httpservletresponse response = (httpservletresponse) res;
    response.setheader("access-control-allow-origin", "*");
    response.setheader("access-control-allow-methods", "post, get, put, options, delete, patch");
    response.setheader("access-control-max-age", "3600");
    response.setheader("access-control-allow-headers", "origin, x-requested-with, content-type, accept");
    response.setheader("access-control-expose-headers", "location");
    chain.dofilter(req, res);
  }
 
  @override
  public void init(filterconfig filterconfig) {}
 
  @override
  public void destroy() {}
 
}

參考文章:

跨域資源共享 cors 詳解

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://1csh1.github.io/2017/11/06/spring-cloud-options-forbidden/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久青草国产在线观看视频 | 日韩欧美一区二区三区视频 | 好大用力深一点女公交车 | 日本免费一区二区三区四区五六区 | 草逼网站视频 | fulao在线观看的 | 亚洲国产精品综合久久一线 | 精品一区在线 | free chinese麻豆 | 美日韩在线观看 | 亚欧美色 | 国产日韩欧美综合一区二区三区 | 国产精品99久久免费观看 | 青青色在线观看 | 久久内在线视频精品mp4 | 国产精品成人一区二区1 | 学校女性奴sm训练调教 | 95视频在线观看在线分类h片 | 日韩国产成人资源精品视频 | 精品国产日韩一区三区 | a级黄色片免费 | 久久精品嫩草影院免费看 | 亚洲精品一区波多野结衣 | 久久影院中文字幕 | 99热在线免费观看 | 美女牲交毛片一级视频 | 3d动漫美女物被遭强视频 | 亚洲黄色三级视频 | 亚洲高清在线天堂精品 | 国产精彩视频 | 久久国产精品福利影集 | 草莓丝瓜芭乐樱桃榴莲色多黄 | 人人爽人人射 | 奇米影视999 | www.99精品视频在线播放 | 先锋资源av | 国产欧美日韩一区二区三区在线 | 欧美视频一区二区专区 | 亚洲视频在线观看不卡 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | bbbxxx乱大交欧美小说 |