nginx配置跨域文件記錄

蜗牛使劲冲發表於2024-06-07

參考:https://www.cnblogs.com/PengfeiSong/p/12993446.html
@

目錄
  • 概要
  • 程式碼
  • 小結

概要

這個跨域我之前配置過,昨天搜了下教程沒有配成功,今天上午又花了近一上午才搞定,特意過來記錄下

程式碼

server {
    listen 80;
    server_name  api.xxx.space;
    client_max_body_size 50M;

    error_log /home/log/xx-search-error.log;
    access_log /home/log/xx-search.log;


    location / {
        proxy_pass http://127.0.0.1:13001;
    }

    location /api {
        proxy_pass http://127.0.0.1:13001/api;

        #   指定允許跨域的方法,*代表所有
        add_header Access-Control-Allow-Methods *;

        #   預檢命令的快取,如果不快取每次會傳送兩次請求
        add_header Access-Control-Max-Age 3600;
        #   帶cookie請求需要加上這個欄位,並設定為true
        add_header Access-Control-Allow-Credentials true;

        #   表示允許這個域跨域呼叫(客戶端傳送請求的域名和埠)
        #   $http_origin動態獲取請求客戶端請求的域   不用*的原因是帶cookie的請求不支援*號
        add_header Access-Control-Allow-Origin $http_origin;

        #   表示請求頭的欄位 動態獲取
        add_header Access-Control-Allow-Headers
        $http_access_control_request_headers;

        #   OPTIONS預檢命令,預檢命令透過時才傳送請求
        #   檢查請求的型別是不是預檢命令
        if ($request_method = OPTIONS){
                return 200;
        }
    }
}

小結

不要輕易相信百度ai出來的答案,最好還是看看別人寫的文章

相關文章