Nginx指定多个域名跨域配置
<p>Nginx配置域名跨域单个域名:</p><div class="cnblogs_code">
<pre>location ~ .*\.(php|php5)?<span style="color: rgba(0, 0, 0, 1)">$
{
add_header </span>'Access-Control-Allow-Origin' 'http://image1-oss.v.lvye.com'<span style="color: rgba(0, 0, 0, 1)">;
add_header </span>'Access-Control-Allow-Credentials' 'true'<span style="color: rgba(0, 0, 0, 1)"> always;
fastcgi_pass</span>127.0.0.1:9000<span style="color: rgba(0, 0, 0, 1)">;
fastcgi_index index</span>.<span style="color: rgba(0, 0, 0, 1)">php;
</span><span style="color: rgba(0, 0, 255, 1)">include</span> fastcgi.<span style="color: rgba(0, 0, 0, 1)">conf;
}</span></pre>
</div>
<p>Nginx配置域名跨域多个域名:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">server {
set </span><span style="color: rgba(128, 0, 128, 1)">$core_origin</span> ""<span style="color: rgba(0, 0, 0, 1)">;
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(128, 0, 128, 1)">$http_origin</span> ~* "^http://image1-oss.xxx.xxx.com$"<span style="color: rgba(0, 0, 0, 1)">) {
set </span><span style="color: rgba(128, 0, 128, 1)">$core_orgin</span> <span style="color: rgba(128, 0, 128, 1)">$http_origin</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(128, 0, 128, 1)">$http_origin</span> ~* "^http://www.xxx.cn$"<span style="color: rgba(0, 0, 0, 1)">) {
set </span><span style="color: rgba(128, 0, 128, 1)">$core_orgin</span> <span style="color: rgba(128, 0, 128, 1)">$http_origin</span><span style="color: rgba(0, 0, 0, 1)">;
}
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (<span style="color: rgba(128, 0, 128, 1)">$http_origin</span> ~* "^http://www.xxx.cn$"<span style="color: rgba(0, 0, 0, 1)">) {
set </span><span style="color: rgba(128, 0, 128, 1)">$core_orgin</span> <span style="color: rgba(128, 0, 128, 1)">$http_origin</span><span style="color: rgba(0, 0, 0, 1)">;
}
listen </span>80<span style="color: rgba(0, 0, 0, 1)">;
</span>......
......<span style="color: rgba(0, 0, 0, 1)">
location </span>~ .*\.(php|php5)?<span style="color: rgba(0, 0, 0, 1)">$
{
proxy_set_header Host </span><span style="color: rgba(128, 0, 128, 1)">$http_host</span><span style="color: rgba(0, 0, 0, 1)">;
add_header </span>'Access-Control-Allow-Origin' <span style="color: rgba(128, 0, 128, 1)">$core_orgin</span><span style="color: rgba(0, 0, 0, 1)">;
add_header </span>'Access-Control-Allow-Credentials' 'true'<span style="color: rgba(0, 0, 0, 1)"> always;
fastcgi_pass</span>127.0.0.1:9000<span style="color: rgba(0, 0, 0, 1)">;
fastcgi_index index</span>.<span style="color: rgba(0, 0, 0, 1)">php;
</span><span style="color: rgba(0, 0, 255, 1)">include</span> fastcgi.<span style="color: rgba(0, 0, 0, 1)">conf;
}</span></pre>
</div>
<p>多个域名只需要添加 if 配置不同的域名即可;</p>
<p>需要注意的是 if 与括号之间的空格不能删除,删除会报语法错误。</p>
<p>还有location 中要添加相对应的变量和参数。</p><br><br>
来源:https://www.cnblogs.com/yuanwanli/p/12670838.html
頁:
[1]