简单的Nginx HTTP CORS配置

时间:2017-11-07 00:14:30

标签: http redirect nginx cors

我试图:

  1. 配置Nginx以强制连接重定向到HTTP(无HTTPS / SSL)。
  2. 配置Nginx以允许在几种文件类型(png,mp3,wav等)上使用CORS Access-Control-Allow-Origin。
  3. 我的网站启用配置:

    server {
    listen *:80;
    server_name mywebsite.com;
    root /var/www/mywebsite.com/html;
    
    location / { 
        if ($request_uri ~* ".(?:fnt|png|atlas|glsl|wav|ogg|mp3|jpe?g|tmx|ini|js|css)$") {
            expires 1h;
            add_header Pragma public;
            add_header 'Access-Control-Allow-Methods' 'HEAD, POST, GET, OPTIONS';
            add_header 'Access-Control-Allow-Origin' '*';
            add_header Cache-Control "public";
        }   
      }
    }
    

    调试:

      

    在' http://mywebsite.com/some_image.png'访问图片来自原产地   ' http://localhost:8080'被CORS政策阻止:没有   '访问控制允许来源'标题出现在请求的上   资源。起源' http://localhost:8080'因此是不允许的   访问。

    Chrome标头

    (General)
    Request URL:http://mywebsite.com/some_image.png
    Referrer Policy:no-referrer-when-downgrade
    (Request Headers)
    Provisional headers are shown
    Origin:http://localhost:8080
    Referer:http://localhost:8080/html/
    User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
    

    some_image.png状态(已取消)通过方法GET ...但由于某种原因,GET for mp3 / wav正常工作。另外值得一提的是我使用XMLHttpRequest GET调用。

    我的Nginx配置应该是什么样的?

0 个答案:

没有答案