Tôi có một vấn đề với 301 chuyển hướng trong Nginx. Nó luôn chuyển hướng đến một URL với cổng cục bộ.
Tình huống như sau: Trang web đang chạy qua Cloudflare, https đầy đủ. CF gửi yêu cầu http đến máy chủ nơi vecni chấp nhận chúng. Varnish sau đó chuyển yêu cầu tới nginx, người xử lý phần còn lại cùng với FPM.
Nginx đang chạy trên cổng 8080. Tôi tạo chuyển hướng 301 trong Nginx như tôi thường làm:
location = /url1 {
return 301 /url2;
}
Nginx sau đó chuyển hướng đến URL, nhưng thêm tên máy chủ & cổng ban đầu mà nó đang chạy (8080). Vì vậy, tôi đặt port_in_redirect thành tắt trong cấu hình máy chủ. Điều đó làm việc một nửa. Nó sẽ chuyển hướng một URL http sang https (không đề cập đến cổng 8080). Nó sẽ chuyển hướng một URL https sang http, vòng lặp.
Làm thế nào tôi có thể chắc chắn rằng điều đó không xảy ra? Tôi tự hỏi liệu có thể biết sơ đồ mà Cloudflare đang phục vụ yêu cầu không.