[Nginx] Cấu hình chuyển hướng truy cập HTTP sang HTTPS trong Nginx

382

Mình sẽ hướng dẫn các bạn cấu hình redirect chuyển hướng các kết nối HTTP Request sang HTTPS Request đối với 1 tên miền trên Web Server Nginx.

Trong trường hợp, website của bạn được nâng cấp chạy SSL/TLS chứng chỉ số thì điều quan trọng sau khi chuyển đổi lên HTTPS là chuyển hướng các kết nối đến đường link cũ HTTP vd http://cuongquach.com/ sẽ tự động chạy sang https://cuongquach.com. Điều này quan trọng vì trên các công cụ tìm kiếm như Google, Bing,.. trước đó đã lưu index site bạn với đường dẫn http nên bạn cần thực hiện điều này để người dùng khi truy cập link cũ vẫn sẽ thấy site bạn hoạt động tốt và trơn tru.

Với webserver Nginx thì để làm điều này thì vô cùng dễ dàng. Ở block dành cho kết nối HTTP “listen 80” của tên miền bạn muốn redirect, bạn chỉ cần thêm đoạn cấu hình trả mã status code HTTP 301 cùng địa chỉ Location mà bạn muốn chuyển hướng là được.


– Các bạn cần chỉnh sửa nội dung block “server” chứa thông tin tên miền của bạn, ở đây mình ví dụ là file cấu hình riêng từng vhost, còn các bạn có thể là file nội dung khác.


Lúc này toàn bộ traffic đối với http://cuongquach.com/ sẽ tự động chuyển sang https://cuongquach.com/ . Với việc trả về HTTP status code 301, “301 redirect” là một phương pháp chuyển tiếp thông báo các trình duyệt và các công cụ tìm kiếm rằng trang webpage hoặc website đó đã được di dời hoàn toàn đến một địa chỉ mới. Thông thường một chuyển tiếp 301 sẽ có chứa địa chỉ web mới thay thế. Trình duyệt sẽ tự động theo chuyển tiếp 301 chuyển tới địa chỉ mới mà không cần đến sự can thiệp của người dùng.


– Chúng ta có thể kiểm tra như sau bằng công cụ curl :

Nếu bạn thấy “HTTP/1.1 301 Moved Permanently” và Location “https://cuongquach.com/” tức bạn đã thành công rồi nhé.

Chào các bạn.

Đánh giá sao từ người đọc :
[ Tổng : 0 - Trung bình: 0 ]