Điểm:1

Nginx có quá nhiều chuyển hướng khi cố chuyển hướng không phải www sang www

lá cờ cn

Tôi có cấu hình nginx này

ngược dòng puma_example.it {
  máy chủ unix:/home/deploy/apps/example.it/shared/tmp/sockets/example.it-puma.sock fail_timeout=0;
}
người phục vụ {
  nghe 80;
  nghe [::]:80;
  server_name example.it www.example.it;
  trả lại 301 https://www.example.it$request_uri;
}

người phục vụ {
server_name blog.example.com;
trả về 301 http://www.example.com/blog$request_uri;
}


người phục vụ {
  nghe 443 ssl http2;
  nghe [::]:443 ssl http2;
  ssl_certificate /etc/letsencrypt/live/example.it/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.it/privkey.pem;
  server_name www.example.it example.it;
  gốc /home/triển khai/apps/example.it/current/public;
  try_files $uri/index.html $uri @puma_example.it;
  trả về 301 https://www.example.com$request_uri; 

  client_max_body_size 4G;
  keepalive_timeout 10;

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

  vị trí @puma_example.it {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Máy chủ lưu trữ $host;
    proxy_redirect tắt;
    proxy_set_header Nâng cấp $http_upgrade;
    proxy_set_header Kết nối "Nâng cấp";
    ssi trên;
    proxy_set_header X-Forwarded-Proto https;
    proxy_pass http://puma_example.it;
    # giới hạn_req vùng=một;
    access_log /home/deploy/apps/example.it/shared/log/nginx.access.log;
    error_log /home/deploy/apps/example.it/shared/log/nginx.error.log;
  }

  vị trí ^~ /hình ảnh/ {
    hết hạn tối đa;
    add_header Kiểm soát bộ đệm công khai;
  }

  vị trí ~ ^/(nội dung|gói)/ {
    bật gzip_static;
    brotli_static bật;
    hết hạn tối đa;
    add_header Kiểm soát bộ đệm công khai;
  }

  vị trí = /50x.html {
    html gốc;
  }

  vị trí @503 {
    error_page 405 = /system/maintenance.html;
    nếu (-f $document_root/system/maintenance.html) {
      viết lại ^(.*)$ /system/maintenance.html ngắt;
    }
    viết lại ^(.*)$ /503.html ngắt;
  }

  if ($request_method !~ ^(GET|HEAD|PUT|PATCH|POST|DELETE|OPTIONS)$ ){
    trả lại 405;
  }

  nếu (-f $document_root/system/maintenance.html) {
    trả lại 503;
  }
}

Tôi đang cố chuyển hướng không phải www sang www và chuyển hướng blog tên miền của bên thứ ba tới một url cụ thể nhưng tôi nghĩ rằng việc thêm

trả về 301 https://www.example.com$request_uri;

ở vị trí đó, nó gây ra vòng lặp chuyển hướng. Tôi phải đặt nó ở đâu? Có gì sai trong cấu hình này?

Tôi cũng cố gắng tách các khối

ngược dòng puma_example.it {
  máy chủ unix:/home/deploy/apps/example.it/shared/tmp/sockets/example.it-puma.sock fail_timeout=0;
}

người phục vụ {
  nghe 80;
  nghe [::]:80;
  server_name example.it www.example.it;
  trả lại 301 https://www.example.it$request_uri;
}

người phục vụ {
  nghe 443 ssl http2;
  nghe [::]:443 ssl http2;
  ssl_certificate /etc/letsencrypt/live/example.it/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.it/privkey.pem;
  server_name example.it;
  trả lại 301 https://www.example.it$request_uri;
}

người phục vụ {
  nghe 443 ssl http2;
  nghe [::]:443 ssl http2;
  ssl_certificate /etc/letsencrypt/live/example.it/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.it/privkey.pem;
  server_name hinnovation.example.it;
  trả lại 301 https://www.example.it/speciale/innovation$request_uri;
}


người phục vụ {
  nghe 443 ssl http2;
  nghe [::]:443 ssl http2;
  ssl_certificate /etc/letsencrypt/live/example.it/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.it/privkey.pem;
  server_name www.example.it;
  gốc /home/triển khai/apps/example.it/current/public;
  try_files $uri/index.html $uri @puma_example.it;

  client_max_body_size 4G;
  keepalive_timeout 10;

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

  vị trí @puma_example.it {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Máy chủ lưu trữ $host;
    proxy_redirect tắt;
    proxy_set_header Nâng cấp $http_upgrade;
    proxy_set_header Kết nối "Nâng cấp";
    ssi trên;
    proxy_set_header X-Forwarded-Proto https;
    proxy_pass http://puma_example.it;
    # giới hạn_req vùng=một;
    access_log /home/deploy/apps/example.it/shared/log/nginx.access.log;
    error_log /home/deploy/apps/example.it/shared/log/nginx.error.log;
  }

  vị trí ^~ /hình ảnh/ {
    hết hạn tối đa;
    add_header Kiểm soát bộ đệm công khai;
  }

  vị trí ~ ^/(nội dung|gói)/ {
    bật gzip_static;
    brotli_static bật;
    hết hạn tối đa;
    add_header Kiểm soát bộ đệm công khai;
  }

  vị trí = /50x.html {
    html gốc;
  }

  vị trí @503 {
    error_page 405 = /system/maintenance.html;
    nếu (-f $document_root/system/maintenance.html) {
      viết lại ^(.*)$ /system/maintenance.html ngắt;
    }
    viết lại ^(.*)$ /503.html ngắt;
  }

  if ($request_method !~ ^(GET|HEAD|PUT|PATCH|POST|DELETE|OPTIONS)$ ){
    trả lại 405;
  }

  nếu (-f $document_root/system/maintenance.html) {
    trả lại 503;
  }
}
Điểm:1
lá cờ us

Bạn cần phải có riêng người phục vụ khối cho bạn www và khôngwww tên miền.

người phục vụ {
    nghe 443 ssl http2;
    nghe [::]:443 ssl http2;
    ssl_chứng chỉ ...
    ssl_certificate_key ...
    server_name example.it;

    trả lại 301 https://www.example.com$request_uri;
}

người phục vụ {
    nghe 443 ssl http2;
    nghe [::]:443 ssl http2;
    ssl_chứng chỉ ...
    ssl_certificate_key ...
    server_name www.example.it;

    ... phần còn lại của cấu hình ...
}
lá cờ cn
Tôi chỉnh sửa, nhưng nó không hoạt động. Chuyển hướng bên thứ ba hoạt động, chuyển hướng không www sang www hoạt động
lá cờ us
Xin lỗi, bạn đã viết ở trên rằng cả hai "hoạt động". vấn đề là gì sau đó?
lá cờ cn
Ồ xin lỗi. Không phải www đến www không hoạt động
lá cờ us
Vui lòng thêm đầu ra của `curl -v ` cho câu hỏi ban đầu, trong đó `` là URL HTTP bạn thử. Bằng cách đó chúng ta có thể thấy chính xác những gì xảy ra.
lá cờ cn
trang web là https://dday.it

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.