0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Nginx配置origin限制跨域請求

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2023-06-26 10:49 ? 次閱讀

按照等保要求,跨域的不安全性,需要修復(fù)。

da4f09c6-1367-11ee-962d-dac502259ad0.png

這個需要根據(jù)客戶端傳遞的請求頭中的Origin值,進行安全的跨站策略配置,目的是對非法的origin直接返回403錯誤頁面。

漏洞復(fù)現(xiàn)

復(fù)現(xiàn)方式為在 Header 中指定 Origin 請求頭,看是否可以請求成功。

能夠請求成功,說明未對請求頭進行控制,有漏洞。

curl-H'Origin//test.com'http://192.168.15.32:80

修復(fù)辦法

在http中定義一個通過map指令,定義跨域規(guī)則并返回是否合法

http {
    ...
//再白名單里邊返回0,不在返回1
    map $http_origin $allow_cors {
        default 1;
        "~^https?://.*?.tripwolf.com.*$" 1;
        "~^(https?://(dmp.finerice.cn)?)$" 1;
        "~*" 0;
    }
    server {
# 指定允許其他域名訪問        
        add_header Access-Control-Allow-Origin $http_origin;
        # 允許的請求類型
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
        # 許的請求頭字段
        add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";


        location / {
            # 進行請求攔截
            if ($allow_cors = 0){
                return 403;
            }
            root /mnt/data;
        }
    }
}

驗證方法

通過POSTMAN進行請求模擬,配置不同的Origin,查看返回結(jié)果。

da681268-1367-11ee-962d-dac502259ad0.png

如果不需要跨域,則直接清理掉add_header Access-Control-Allow-Origin等相關(guān)配置,就不這么復(fù)雜了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模擬
    +關(guān)注

    關(guān)注

    7

    文章

    1422

    瀏覽量

    83925
  • 客戶端
    +關(guān)注

    關(guān)注

    1

    文章

    290

    瀏覽量

    16687
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    12174

原文標(biāo)題:Nginx配置origin限制跨域請求

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    利用LWIP實現(xiàn)的Web server,如何修改響應(yīng)報文中HTTP header里面的Access-Control-Allow-Origin的值?

    請求。 注:通過不在同一個下瀏覽器頁面,給跑著lwip-httpServer的板子發(fā)送get請求,會涉及到
    發(fā)表于 04-30 06:54

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx
    發(fā)表于 07-10 16:40

    nginx重啟命令linux步驟是什么?

      1、驗證nginx配置文件是否正確   方法一:進入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx
    發(fā)表于 07-11 17:13

    【NanoPi NEO試用體驗】之安裝配置Nginx環(huán)境WEB網(wǎng)站詳解

    速度。root@nrjs-cn:~# apt-get install nginx【1.3啟動NGINX服務(wù)】待NGINX安裝完成后不需要做任何配置就能夠直接使用如下命令啟動,如果啟動錯
    發(fā)表于 10-18 12:25

    采用Nginx的反向代理解決

    40Nginx的反向代理功能解決問題
    發(fā)表于 10-10 10:58

    ajax如何克服

    如何克服ajax
    發(fā)表于 04-30 13:25

    請問如何解決Vue加入withCredentials后無法進行請求?

    Vue加入withCredentials后無法進行請求
    發(fā)表于 11-06 06:39

    主要學(xué)習(xí)下nginx的安裝配置

    主要學(xué)習(xí)下nginx的安裝配置,以便于后續(xù)學(xué)習(xí)。以下在本地虛擬機上搭建學(xué)習(xí)。1、檢查系統(tǒng)網(wǎng)絡(luò)是否能連通公網(wǎng):ping www.taobao.com2、確認(rèn)yum源是否配置好,用于下載安裝環(huán)境基礎(chǔ)包
    發(fā)表于 10-19 14:12

    看看nginx的連接頻率limit_conn_module和請求頻率limit_req_module限制模塊

    影響業(yè)務(wù)正常運行。往往辦法是限制對同一個IP的連接數(shù)和并發(fā)數(shù)進行限制。今天我們就來看看nginx的連接頻率limit_conn_module和請求頻率limit_req_module
    發(fā)表于 10-19 14:20

    vue-cli開發(fā)環(huán)境實現(xiàn)請求

    Access-Control-Allow-Origin。這樣就可以調(diào)后臺接口了。在前幾天無意中看到了config的index.js文件中有一個proxyTable屬性,通過配置可以
    發(fā)表于 11-28 13:15 ?1038次閱讀

    時鐘電路設(shè)計總結(jié)

    時鐘操作包括同步時鐘操作和異步時鐘操作。
    的頭像 發(fā)表于 05-18 09:18 ?746次閱讀
    <b class='flag-5'>跨</b>時鐘<b class='flag-5'>域</b>電路設(shè)計總結(jié)

    Nginx輕松搞定問題

    當(dāng)發(fā)生條件時候,覽器先詢問服務(wù)器,當(dāng)前網(wǎng)頁所在的域名是否在服務(wù)器的許可名單之中,以及可以使用哪些HTTP動詞和頭信息字段。只有得到肯定答復(fù),瀏覽器才會發(fā)出正式的XMLHttpRequest請求,否則就報錯。
    的頭像 發(fā)表于 06-11 11:39 ?934次閱讀
    <b class='flag-5'>Nginx</b>輕松搞定<b class='flag-5'>跨</b><b class='flag-5'>域</b>問題

    如何解決問題

    如何解決問題?首先我們需要知道什么是,指的是瀏覽器不能執(zhí)行其它網(wǎng)站的腳本,它是由瀏覽
    的頭像 發(fā)表于 10-09 16:07 ?564次閱讀
    如何解決<b class='flag-5'>跨</b><b class='flag-5'>域</b>問題

    Nginx配置文件如何設(shè)置頭信息保留真實IP不丟失

    Nginx 配置中設(shè)置頭信息以保留客戶端的真實 IP 地址通常是在使用反向代理的場景中需要的。當(dāng) Nginx 作為反向代理時,客戶端的真實 IP 地址可能會在轉(zhuǎn)發(fā)請求時丟失,因為到
    的頭像 發(fā)表于 11-30 10:54 ?1969次閱讀

    nginx負(fù)載均衡配置介紹

    目錄 nginx負(fù)載均衡 nginx負(fù)載均衡介紹 反向代理與負(fù)載均衡 nginx負(fù)載均衡配置 Keepalived高可用nginx負(fù)載均衡器
    的頭像 發(fā)表于 11-10 13:39 ?242次閱讀
    <b class='flag-5'>nginx</b>負(fù)載均衡<b class='flag-5'>配置</b>介紹