溫馨提示×

Ubuntu Nginx如何實現跨域訪問

小樊
45
2025-10-04 12:54:28
欄目: 智能運維

在 Ubuntu 上配置 Nginx 以實現跨域訪問,可以通過修改 Nginx 的配置文件來實現。以下是一個基本的步驟指南:

  1. 安裝 Nginx(如果尚未安裝):

    sudo apt update
    sudo apt install nginx
    
  2. 編輯 Nginx 配置文件: 打開 Nginx 的默認配置文件,通常位于 /etc/nginx/sites-available/default/etc/nginx/nginx.conf。你可以使用任何文本編輯器,例如 nanovim。

    sudo nano /etc/nginx/sites-available/default
    
  3. 添加跨域頭信息: 在 server 塊中添加以下配置,以允許跨域訪問:

    server {
        listen 80;
        server_name your_domain.com;  # 替換為你的域名或IP地址
    
        location / {
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
            add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization' always;
    
            # 處理預檢請求
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
                add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
                add_header 'Content-Length' 0;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                return 204;
            }
    
            # 你的其他配置
            root /var/www/html;
            index index.html index.htm;
        }
    }
    

    在這個配置中:

    • Access-Control-Allow-Origin 設置為 *,表示允許所有域訪問。你可以將其替換為特定的域名,例如 http://example.com。
    • Access-Control-Allow-Methods 設置允許的 HTTP 方法。
    • Access-Control-Allow-Headers 設置允許的 HTTP 頭。
    • 處理預檢請求(OPTIONS 請求)的部分確保預檢請求能夠正確響應。
  4. 保存并退出編輯器: 如果你使用的是 nano,可以按 Ctrl+X,然后按 Y 確認保存,最后按 Enter 退出。

  5. 測試 Nginx 配置: 在重新加載 Nginx 之前,先測試配置文件是否有語法錯誤:

    sudo nginx -t
    
  6. 重新加載 Nginx: 如果配置文件沒有問題,重新加載 Nginx 以應用更改:

    sudo systemctl reload nginx
    
  7. 驗證跨域配置: 現在,你應該能夠從不同的域訪問你的 Nginx 服務器上的資源,并且瀏覽器不會阻止跨域請求。

通過以上步驟,你可以在 Ubuntu 上配置 Nginx 以實現跨域訪問。根據你的具體需求,你可能需要調整配置文件中的其他設置。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女