在CentOS上配置Nginx以支持跨域訪問,通常需要修改Nginx的配置文件。以下是具體步驟:
打開Nginx配置文件:
通常,Nginx的主配置文件位于 /etc/nginx/nginx.conf,但更常見的是在 /etc/nginx/conf.d/ 或 /etc/nginx/sites-available/ 目錄下的虛擬主機配置文件中。
sudo vi /etc/nginx/nginx.conf
或者
sudo vi /etc/nginx/conf.d/default.conf
添加跨域配置:
在 server 塊或 location 塊中添加以下配置:
server {
listen 80;
server_name example.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;
}
# 其他配置...
}
}
解釋:
add_header 'Access-Control-Allow-Origin' '*' always;:允許所有來源的請求。add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;:允許的HTTP方法。add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization' always;:允許的請求頭。if ($request_method = 'OPTIONS'):處理預檢請求(OPTIONS),返回204狀態碼。保存并退出編輯器:
按 Esc 鍵,然后輸入 :wq 并按回車鍵保存并退出。
測試Nginx配置: 運行以下命令檢查Nginx配置是否正確:
sudo nginx -t
重新加載Nginx: 如果配置文件沒有問題,重新加載Nginx以應用更改:
sudo systemctl reload nginx
完成以上步驟后,Nginx應該已經配置好支持跨域訪問了。你可以通過瀏覽器開發者工具或使用 curl 等工具進行測試,確??缬蛘埱竽軌蛘9ぷ?。