在EC2和流星上获得关于Nginx的404

时间:2014-06-02 12:59:35

标签: node.js nginx meteor socket.io meteorite

我有一个奇怪的问题,nginx在javascript文件上抛出了404错误。

在此处查看:

http://ec2-54-85-163-197.compute-1.amazonaws.com/

因为流星应用程序抛出404,按下转义并查看页面的来源,因为如果javascript无法加载,meteor会重定向整个页面的javascript(完全失败的流星恕我直言)

你会发现我通过渲染主页从端口3000运行节点到端口80正确代理。

如果你去http://ec2-54-85-163-197.compute-1.amazonaws.com:3000/,你会看到hello world渲染得很好。

我的/etc/nginx/nginx.conf是默认的conf文件。

这是文件/etc/nginx/sites-available/ec2-54-85-163-197.compute-1.amazonaws.com

server {
  listen 80;

  server_name ec2-54-85-163-197.compute-1.amazonaws.com;
  root /home/meteor/can_i_help_you/can_i_help_you;

  access_log "/home/ubuntu/logs/access.log";
  error_log "/home/ubuntu/logs/error.log" error;

  charset utf-8;

  default_type  application/octet-stream;
  sendfile        on;

  # would be awesome if your mobile-app can utilize keep-alives!
  keepalive_timeout  65;

  # enable gzip
  gzip on;
  gzip_comp_level 6;
  gzip_vary on;
  gzip_min_length  1000;
  gzip_proxied any;
  gzip_buffers 16 8k;

  # we only gzip these mime-types (since there's no use to gzip jpegs)
  gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

  # tell-client to cache all 'assets'
  location ~* \.(?:jpg|jpeg|gif|png|ico|gz|svg|svgz|mp4|ogg|ogv|webm)$ {
    expires 1M;
    access_log off;
    add_header Cache-Control "public";
  }

  # disable logging for some `common` files
  # Disable logging for favicon
  location = /favicon.ico {
        log_not_found off;
        access_log off;
  }

  # Disable logging for robots.txt
  location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
  }

  # Prevent clients from accessing hidden files (starting with a dot)
  location ~* (^|/)\. {
    return 403;
  }

  # Prevent clients from accessing to backup/config/source files
  location ~* (\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$ {
    return 403;
  }

  # reverse-proxy here, if your have multiple machine/cores would be better to use UPSTREAM so nginx can load-balance requests

  #try_files $uri $uri/ @silly;
  location / {

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect off;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
        proxy_set_header   Host $http_host;
        proxy_set_header   X-NginX-Proxy true;
        proxy_set_header   Connection "";
        proxy_pass         http://ec2-54-85-163-197.compute-1.amazonaws.com/;
  }

  #location / {
  #  proxy_set_header X-Real-IP $remote_addr;
  #  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  #  proxy_set_header Host $http_host;
  #  proxy_set_header X-NginX-Proxy true;
  #
  #  proxy_pass http://ec2-54-85-163-197.compute-1.amazonaws.com:3000/;
  #  proxy_redirect off;
  #}


}

0 个答案:

没有答案