Keywords: How to redirect and rewrite conditional url in nginx-ingress on kubernetes
Redirect thì không còn xa lạ gì với anh em IT rồi đúng không, hiểu nôm na thì nó chỉnh là khi bạn truy cập đến một đường link nào đó thì nó sẻ đẩy đến một đường link khác, ví dụ nếu như bạn muốn user truy cập www.itblognote.com nhưng mõi lần thói quen của user thường là sẻ sử dụng lệnh itblognote.com để truy cập, vậy thì mình sẻ config để redirect khi user gõ itblognote.com trên thanh URL thì nó sẻ chuyển đến trang www.itblognote.com đó chính là công dụng của redirect, ok mình sẻ không nói nhiều về nó nữa vào vấn đề chính luôn nào
Việc config redirect trên các apache2 hay là nginx, các web server bình thường thì nó đã không còn xa lạ gì nữa rồi, nhưng cái mình muốn hướng dẫn các bạn ở đây chính là sử dụng redirect cho nginx ingress một Ingress Controller về web server của k8sĐể thực hiện điều này chúng ta cần phải chỉnh sửa ở phía ingress của service trên k8s, ví dụ ở đây mình đang chỉnh sửa một ingress của một services bất kì trên k8s của mình, tại trường annotations của ingess chúng ta thêm những giá trị sau
annotations:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt"
nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
Các bạn có thể thấy mình đã thêm phần www thành true để nó redirect đến đó, ngoài ra bạn không chỉ có thể redirect đến www mà các bạn còn có thể thực hiện đến bất kì link nào khác với config của riêng mình, ở đây mình sẻ có ví dụ như sau, mình sẻ thực hiện truy cập đến link cá nhân của mình với path là /chaongaymoi thì nó sẻ trỏ đến trang web khác với link mà mình mong muốn
nginx.ingress.kubernetes.io/configuration-snippet: | rewrite /chaongaymoi https://itblognote.com$uri permanent;Như các bạn cũng thấy khi mình truy cập link ingress của mình với path chaongaymoi thì nó sẻ redirect đến link itblognote.com/chaongaymoi đại loại là như vậy
ingress: enabled: true annotations: kubernetes.io/ingress.class: "nginx" cert-manager.io/cluster-issuer: "letsencrypt" nginx.ingress.kubernetes.io/from-to-www-redirect: "true" nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/proxy-body-size: "10m" nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/proxy-send-timeout: "600" nginx.ingress.kubernetes.io/configuration-snippet: | rewrite /chaongaymoi https://itblognote.com$uri permanent; nginx.ingress.kubernetes.io/server-snippet: | location /sitemaps/ { proxy_pass http://sitemap.itblognote.com/sitemaps/; } hosts: - host: www.example.com paths: - / tls: - secretName: www-example-com-tls hosts: - example.com - www.example.comCác bạn có thể xem của mình và tham khảo nhé.
0 Comments
Vài lời muốn nói:
* Không được nhận xét thô tục bởi mình biết các bạn là những người văn minh.
* Pass giải nén mặt định là itblognote hoặc itblognote.com nếu có Pass khác thì mình sẽ ghim trong bài viết.
* Click vào quảng cáo và chia sẻ bài viết để mình có thêm động lực viết bài nhé.