使用 nginx 的静态内容域在尝试访问静态文件时出现错误

使用 nginx 的静态内容域在尝试访问静态文件时出现错误

正如标题所述,我正在尝试使用 nginx 从托管在同一服务器上的另一个域提供静态内容。

这是我的服务器配置:

  server {
    listen 80;
    server_name static-sexparken.nu;
    rewrite ^ http://static-sexparken.nu$uri permanent;
  }

  # the server directive is nginx's virtual host directive.
  server {
    # port to listen on. Can also be set to an IP:PORT
    listen 80;

    # Set the charset
    charset utf-8;

    # Set the max size for file uploads to 10Mb
    client_max_body_size 50M;

    # sets the domain[s] that this vhost server requests for
    server_name static-sexparken.nu; 

    # doc root
    root /var/www/static-sexparken.nu/public;

    # vhost specific access log
    #access_log  /var/log/nginx_access.log  main;


    # Set image format types to expire in a very long time
    location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ {
        access_log off;
        expires max;
    }

    # Set css and js to expire in a very long time
    location ~* ^.+\.(css|js)$ {
        access_log off;
        expires max;
    }

    # Catchall for everything else
    location / {
      root /var/www/sexparken.nu/public;
      access_log off;

      index index.html index.shtml;
      expires 1d;

      #try_files $uri $uri/404.html;

      if (-f $request_filename) {
        break;
      }
    }

    location ~* ^/(pkg|rpms)/ {
      autoindex on;
    }

    error_page 500 502 503 504 /500.html;
    error_page 404 /404.html;

  }

当我尝试直接访问域上的图像时会发生什么?我得到以下信息:

如果您禁用或拒绝接受 cookie,有时可能会出现此问题。

Firefox 中显示为错误。当然,这些链接在网站上也是正确的,但我什么也没得到。

这里可能存在什么问题?任何帮助表示感谢。

答案1

启动 nginx 时,您应该会收到重复的服务器名称警告。您的两个服务器块都匹配相同的主机名,并且使用第一个,因为它是第一个。您告诉它重定向到相同的主机名,因此它会永远循环。也许您的意思是在第一个 server_name 中添加一个 www。

相关内容