思界 發表於 2020-4-10 01:18:00

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]
查看完整版本: Nginx指定多个域名跨域配置