Nginx作為web靜態資源服務器——跨域訪問


跨站訪問

為什么瀏覽器禁止跨域訪問

Nginx跨站訪問

Syntax:add_header name value [always];

Default:——

Context:http,server,location,if in location

Access-Control-Allow-Origin     # 通過header判斷是否可以跨站訪問

演示

創建一個html文件

vi /opt/app/code/test_oringin.html

<html lang="en">
<head>
<meta charset="UTF-8" />
<title>測試ajax和跨域訪問</title>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function(){
    $.ajax({
        type: "GET",
        url: "http://www.joy.com/1.html",    #如果訪問跨域成功,返回success
        success: function(data) {
            alert("sucess!!!");
        },
        error: function() {
            alert("fail!!!,請刷新再試!");        # 如果訪問跨域成功,返回“請刷新再試”
        }
    });
});
</script>
<body>
     <h1>測試跨域訪問</h1>
</body>
</html>

沒有配置語法訪問,會返回刷新

配置語法


    location ~ .*\.(htm|html) {
        #expires 24h;
        #add_header Access-Control-Allow-Crigin http://www.joy.com;  # 允許跨域訪問的域名
        #add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS; # 配置請求方式
        root   /opt/app/code;
    }

再次訪問,可以成功跳轉到http://www.joy.com/1.html

注意:配置語法中的域名,需要公網的域名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM