跨源请求的服务器端配置
Server-side Configuration for cross-origin requests
我有一个开发服务器当前服务于 (Apache) API 可以跨域访问,以下是我的 VirtualHost 配置:
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ [R=200,L]
我不完全了解上述设置的作用,现在我必须将其投入生产,我不确定此配置是否已准备好投入生产。如果我按原样将其移至生产环境,您能否帮助阐明其影响?
这些配置选项允许您的应用程序 运行 作为 API。它们是 HTTP access control (CORS).
的必要部分
前四行设置 headers 可用于控制如何访问您的 API 其余行允许 OPTIONS
请求,它将检查请求是否是允许与否。更多信息在这里 - universal-CORS-htaccess.
Access-Control
headers 设置为允许来自不同域的资源请求。它们还允许您限制哪些域访问您的 API 资源以及使用哪些方法。例如,您的 API 可能用于使用 POST
请求专门为特定域提供资源。因此,您可以使用:
Access-Control-Allow-Origin "http://foo.example"
Access-Control-Allow-Methods "POST"
这些配置对于您的应用程序 运行 作为 API 是必需的,但它的生产准备情况如何?如果没有关于您的服务器环境和应用程序框架等的更多详细信息,很难说。您可能希望将这些选项移出 .htaccess
文件或首先启用您的 .htaccess
文件。但你确实需要它们。
我有一个开发服务器当前服务于 (Apache) API 可以跨域访问,以下是我的 VirtualHost 配置:
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ [R=200,L]
我不完全了解上述设置的作用,现在我必须将其投入生产,我不确定此配置是否已准备好投入生产。如果我按原样将其移至生产环境,您能否帮助阐明其影响?
这些配置选项允许您的应用程序 运行 作为 API。它们是 HTTP access control (CORS).
的必要部分前四行设置 headers 可用于控制如何访问您的 API 其余行允许 OPTIONS
请求,它将检查请求是否是允许与否。更多信息在这里 - universal-CORS-htaccess.
Access-Control
headers 设置为允许来自不同域的资源请求。它们还允许您限制哪些域访问您的 API 资源以及使用哪些方法。例如,您的 API 可能用于使用 POST
请求专门为特定域提供资源。因此,您可以使用:
Access-Control-Allow-Origin "http://foo.example"
Access-Control-Allow-Methods "POST"
这些配置对于您的应用程序 运行 作为 API 是必需的,但它的生产准备情况如何?如果没有关于您的服务器环境和应用程序框架等的更多详细信息,很难说。您可能希望将这些选项移出 .htaccess
文件或首先启用您的 .htaccess
文件。但你确实需要它们。