【问题标题】:Nginx shows "Welcome to nginx" for http request in Rails appNginx 在 Rails 应用程序中为 http 请求显示“欢迎使用 nginx”
【发布时间】:2014-02-23 14:39:05
【问题描述】:

我正在使用以下 nginx 配置:

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

    upstream myapp.co {
      server 127.0.0.1:8080;
    }


    server{
      listen 80;
      server_name myapp.co;
      rewrite ^ https://myapp.co$request_uri? permanent;
    }

    server {
      listen  443 ssl;
      server_name  myapp.co;
      root /home/deployer/myapp/public;

      ssl on;
      ssl_certificate      /etc/nginx/certs/myapp.co.crt;
      ssl_certificate_key  /etc/nginx/certs/myapp.co.private.key;

      #server_name myapp.co _;
      #root /home/deployer/myapp/public;

      location / {
        proxy_set_header X_FORWARDED_PROTO $scheme;
        proxy_set_header Host $http_host;
        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-Real-IP         $remote_addr;
        proxy_set_header   CLIENT_IP         $remote_addr;

        proxy_redirect http:// https://;
        if (!-f $request_filename) {
          proxy_pass http://myapp.co;
          break;
        }
        if (-f $document_root/system/maintenance.html) {
          return 503;
        }
      }
   }
}

问题:当我加载 http://www.myapp.co 时,我收到错误消息

Welcome to nginx

但是如果我设置为浏览器

https://www.myapp.co
https://myapp.co
http://myapp.co

一切正常。

对于 http://www.myapp.co 请求,我如何才能正确显示 Rails 应用程序?

我对 nginx 的设置非常业余,所以我会很感激每一个建议。

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby redirect nginx http-redirect


    【解决方案1】:

    我认为,您应该像这样设置您的 server_name(在两个 server 部分中):

    server_name myapp.co www.myapp.co;
    

    【讨论】:

      猜你喜欢
      • 2022-11-13
      • 2012-02-05
      • 2017-10-31
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多