在Apache中配置跨域资源共享可通过修改主配置文件或使用.htaccess文件实现。需设置Header指令指定允许的来源、方法、请求头及预检有效期。建议将通配符替换为实际域名以增强安全性,并确保服务器能正确响应OPTIONS预检请求。
Apache跨域资源共享(CORS)配置方法
作者:技术拾光
时间:2026-06-11
浏览:86
文章目录
在Apache中配置跨域资源共享(CORS)主要通过两种方式:修改配置文件或使用.htaccess文件。按照以下步骤操作即可完成配置。

方法一:修改Apache配置文件
Apache配置文件通常位于/etc/apache2/apache2.conf(Ubuntu/Debian系)或/etc/httpd/conf/httpd.conf(CentOS/RHEL系)。
编辑该文件,定位到需要配置的目录代码块(如、或),添加以下CORS头配置:
# 允许所有来源访问
Header set Access-Control-Allow-Origin "*"
# 允许的HTTP方法
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
# 允许的HTTP头
Header set Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With"
# 预检请求的有效期(秒)
Header set Access-Control-Max-Age "86400"
保存后,重启Apache使设置生效:
sudo systemctl restart apache2
方法二:使用.htaccess文件
若不想直接修改主配置文件,可使用.htaccess文件。在网站根目录下找到或创建.htaccess,写入以下内容:
# 允许所有来源访问
Header set Access-Control-Allow-Origin "*"
# 允许的HTTP方法
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
# 允许的HTTP头
Header set Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With"
# 预检请求的有效期(秒)
Header set Access-Control-Max-Age "86400"
前提是需要启用mod_headers模块。若未启用,执行以下命令:
sudo a2enmod headers
完成后,同样需要重启Apache使配置生效:
sudo systemctl restart apache2
注意事项
安全性方面,上线后建议避免直接使用通配符*,而将Access-Control-Allow-Origin设置为实际允许的域名,以提升安全性。
其次是预检请求(Preflight Request)。浏览器在发送某些复杂请求(例如带有自定义头的请求)时,会先发送一个OPTIONS请求进行试探。因此,需确保服务器能够正常响应此OPTIONS请求,否则业务逻辑将无法正常执行。
按照以上两种方法即可完成Apache的CORS配置。
实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。
相关文章