如果您的MAGENTO2网站在使用过程中,出现如图示的红色区域提示,那么说明您的网站部分功能存在CROS限制。
在开始前,先了解下什么是CROS?
CORS 代表跨域资源共享,它控制哪些站点可以访问另一个站点的资源。如果您在不同的子域和/或域上运行应用程序并且它们需要相互通信,那么您将需要设置 CORS
我们如何设置 CORS?
需要从正在访问的发送特定的标头HEADER信息。因此,例如,如果您的前端位于一个域上并且它需要访问另一个域上的 API,则您必须在 API 服务器上设置访问标头。
Apache服务器的设置
Header set Access-Control-Allow-Origin "*"
如
<VirtualHost *:80> ServerAdmin admin@example.com DocumentRoot /var/www/html/magento2/ ServerName localmagento.com ServerAlias www.localmagento.com <Directory /var/www/html/magento2/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all Header set Access-Control-Allow-Origin "*" </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined</VirtualHost>
app/etc/env.php
'x-frame-options' => 'SAMEORIGIN',
允许同源域名
'x-frame-options' => '*',
则为允许全部
'x-frame-options' => 'CROSS-ORIGIN',
限定跨域访问