@buidinhnhu93 Bạn cập nhật lại phần backend_ingress trỏ về các IP của worker node nhé! Mình cũng update lại bài viết rồi.
Bạn cũng có thể ktra phần kết nối từ haproxy tới các target của ingress_backend xem có thông kết nối chưa bằng lệnh telnet đứng từ node cài haproxy:
telnet [worker-node-IP] [ingress-NodePort]
hiện tại em đang gán cho nginx-ingress 2 port customs HTTP: 30562 và HTTPS là 31514
EM đã kiểm tra trên 3 con mater: đều có 2 port với trạng thái listen, em cấu hình tiếp haproxy.cfg như sau:
backend backend_ingress
mode http
stats enable
stats auth username:password
balance roundrobin
server viettq-master1 192.168.10.11:30562 cookie p1 weight 1 check inter 2000
server viettq-master2 192.168.10.12:30562 cookie p1 weight 1 check inter 2000
server viettq-master3 192.168.10.13:30562 cookie p1 weight 1 check inter 2000
Tuy nhiên khi em restart haproxy service thì vẩn báo là: haproxy[13974]: backend backend_ingress has no server available!
em có check:
[sysadmin@vtq-cicd nginx-ingress]$ kubectl get services -n nginx-ingress
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
apple-service ClusterIP 10.233.0.169 <none> 5678/TCP 172m
nginx-ingress-nginx-ingress LoadBalancer 10.233.62.185
80:30562/TCP,443:31514/TCP 172m
và thực hiện allow port trên firewall để test/
Bài viết trên của tác giả cũng không phải là chê OpenAI không open source, mà mình thấy tác giả chê ở 2 điểm:
OpenAI public bài báo GPT-4 Technical Report, nhưng bên trong đó nội dung quảng cáo là nhiều, chứ hầu như không có chia sẻ thông tin gì về technical cho cộng đồng
Họ đặt tên công ty là OpenAI, nhưng những đóng góp mang tính Open thì lại rất ít (khác hẳn với những gì đội nghiên cứu ở như Google, Facebook làm)
chứ chẳng ai lại đi "chê" một công ty khi họ không open source sản phẩm của họ ra cả
@kiendev đặc điểm của refresh token là ko gửi kèm theo tất cả request, chỉ khi nào token expried thì mới gửi refresh token, nếu gửi như access token thì dễ bị mất refresh token, nên sẽ ko dùng đc cookie ??
Mình gõ quen rồi nên thấy việc gõ khá bình thường. Còn nếu không thì mình thấy Viblo đã có tích hợp tính năng chuyển đổi hình ảnh thành công thức trên Viblo luôn rồi (nút cuối cùng trong ảnh)
@kiendev xss thì validate form tốt là đc, vậy là cookie chưa chắc an toàn hơn localstorage, vấn đề là cách implement như thế nào. còn 1 vấn đề nữa nếu dùng cookie thì sẽ ko refresh token đc ??
@anh112233 Trên bài mình có nhắc tới việc enable CORS để tránh đó bạn.
Còn vụ xóa local storage thì chúng ta có thể implement bình thường, tuy nhiên vẫn phải implement mà đúng không, nếu như nó không hoạt động tốt thì sao, ví dụ như page crash giữa chừng...
Điều nguy hiểm là lúc web bạn đang chạy thì có thể bị inject xss.
Ví dụ chèn script vào comment, các extension độc... bla blo.
THẢO LUẬN
@kiendev thankiu bạn
@anh112233 set thêm path cho refresh token trong cookie, chỉ accept path
/refresh_tokenchẳng hạn.em có thể hỏi anh nhập code vào đâu để không bị quá dung lượng không ạ
@buidinhnhu93 Bạn cập nhật lại phần backend_ingress trỏ về các IP của worker node nhé! Mình cũng update lại bài viết rồi. Bạn cũng có thể ktra phần kết nối từ haproxy tới các target của ingress_backend xem có thông kết nối chưa bằng lệnh telnet đứng từ node cài haproxy: telnet [worker-node-IP] [ingress-NodePort]
@devtdq1701 Cảm ơn bro nhé!
@rockman88v Dạ em cảm ơn anh: em có chổ này nhờ anh giải đáp giúp:
tcp 0 0 0.0.0.0:31514 0.0.0.0:* LISTEN 3495/kube-proxy
tcp 0 0 0.0.0.0:30562 0.0.0.0:* LISTEN 3495/kube-proxy
hiện tại em đang gán cho nginx-ingress 2 port customs HTTP: 30562 và HTTPS là 31514
EM đã kiểm tra trên 3 con mater: đều có 2 port với trạng thái listen, em cấu hình tiếp haproxy.cfg như sau:
backend backend_ingress
Tuy nhiên khi em restart haproxy service thì vẩn báo là: haproxy[13974]: backend backend_ingress has no server available! em có check:
[sysadmin@vtq-cicd nginx-ingress]$ kubectl get services -n nginx-ingress
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE apple-service ClusterIP 10.233.0.169 <none> 5678/TCP 172m nginx-ingress-nginx-ingress LoadBalancer 10.233.62.185
80:30562/TCP,443:31514/TCP 172m
và thực hiện allow port trên firewall để test/
Rất mong được anh phản hồi,
Bài viết trên của tác giả cũng không phải là chê OpenAI không open source, mà mình thấy tác giả chê ở 2 điểm:
chứ chẳng ai lại đi "chê" một công ty khi họ không open source sản phẩm của họ ra cả
@kiendev đặc điểm của refresh token là ko gửi kèm theo tất cả request, chỉ khi nào token expried thì mới gửi refresh token, nếu gửi như access token thì dễ bị mất refresh token, nên sẽ ko dùng đc cookie ??
Mình update trên phần FAQ hoặc comment bên trên rùi nhé
Thế muốn dùng chung cả moblie app và web thì lưu ở cookie sao dùng được trên mobile app ?
Cảm ơn phản hồi từ bạn.
Cảm ơn bạn đã phản hồi. Mình dịch từ tài liệu và tự tóm tắt nên khá khó đọc với mọi người. Mình sẽ cải thiện trong những bài viết sau.
hay quá a =))) thực sự series trước của a cũng rất hay mỗi tội e không đủ điều kiện để dựng lab ngay từ đầu =)))
Mình gõ quen rồi nên thấy việc gõ khá bình thường. Còn nếu không thì mình thấy Viblo đã có tích hợp tính năng chuyển đổi hình ảnh thành công thức trên Viblo luôn rồi (nút cuối cùng trong ảnh)
@anh112233
Điểm yếu chính là cookie chỉ có 4KB. Again, tùy vào requirement chúng ta tìm cách xử lý thôi, còn nếu tạo ra standard từ đầu thì ưu tiên cookie.
thanks @maitrungduc1410. Với mong chờ thêm các bài khác liên quan tới k8s.
@kiendev xss thì validate form tốt là đc, vậy là cookie chưa chắc an toàn hơn localstorage, vấn đề là cách implement như thế nào. còn 1 vấn đề nữa nếu dùng cookie thì sẽ ko refresh token đc ??
@anh112233 Trên bài mình có nhắc tới việc enable CORS để tránh đó bạn.
Còn vụ xóa local storage thì chúng ta có thể implement bình thường, tuy nhiên vẫn phải implement mà đúng không, nếu như nó không hoạt động tốt thì sao, ví dụ như page crash giữa chừng...
Điều nguy hiểm là lúc web bạn đang chạy thì có thể bị inject xss. Ví dụ chèn script vào comment, các extension độc... bla blo.
Èo, cop nguyên không cả dịch luôn. dù sao vẫn cảm ơn top
Em thử config global chưa? https://docs.github.com/en/get-started/getting-started-with-git/setting-your-username-in-git