Tôi đang cố gắng hướng lưu lượng truy cập của máy khách đến một cụm kubernetes NodePort đang nghe trên 192.168.1.100.30000 (cổng https).
Khách hàng cần gửi yêu cầu tới 192.168.1.100.8000 nên tôi đã thêm quy tắc REDIRECT sau vào iptables:
iptables -t nat -I PREROUTING -p tcp --dst 192.168.1.100 --dport 8000 -j REDIRECT --to-port 30000
iptables -t nat -I OUTPUT -d 192.168.1.100 -p tcp --dport 8000 -j REDIRECT --to-port 30000
Tuy nhiên, tôi nhận được lỗi sau:
# cuộn tròn -vk https://192.168.1.100:8000/v1/api
* Sắp kết nối() với cổng 192.168.1.100 8000 (#0)
* Đang thử 192.168.1.100...
* Đã kết nối với cổng 192.168.1.100 (192.168.1.100) 8000 (#0)
* Khởi tạo NSS với certpath: sql:/etc/pki/nssdb
* Lỗi NSS -12263 (SSL_ERROR_RX_RECORD_TOO_LONG)
* SSL đã nhận được bản ghi vượt quá độ dài tối đa cho phép.
* Đóng kết nối 0
curl: (35) SSL đã nhận được bản ghi vượt quá độ dài tối đa cho phép.
cũng đã cố gắng thiết lập hệ thống từ xa được chỉ ra trong cái này trả lời và đưa ra yêu cầu đến cùng một điểm cuối và gặp lỗi sau:
# ip netns exec remotesystem curl -vk https://192.168.1.100:8000/v1/api
* Sắp kết nối() với cổng 192.168.1.100 8000 (#0)
* Đang thử 192.168.1.100...
* Kết nối quá hạn
* Không kết nối được với 192.168.1.100:8000; Kết nối quá hạn
* Đóng kết nối 0
curl: (7) Không kết nối được với 192.168.1.100:8000; Kết nối quá hạn
Tôi biết rằng cụm kubernetes có các chính sách mạng được thực thi bằng calico crds, tuy nhiên, tôi đã thêm một mặc định cho phép tất cả vào chính sách mạng và lưu lượng truy cập dường như vẫn bị treo.
Tôi cũng đã kiểm tra nhật ký của bộ điều khiển xâm nhập để xem liệu yêu cầu có được thực hiện ở đó hay không nhưng không thấy bất kỳ nhật ký nào xuất ra khi thực hiện yêu cầu.
Điều kỳ lạ là trực tiếp làm cong cổng nút https://192.168.1.100.30000/v1/api
hoạt động và tôi nhận được phản hồi thành công.
Câu hỏi là, tại sao uốn tóc https://192.168.1.100:8000/v1/api (với quy tắc REDIRECT là 30000)
khiến yêu cầu bị treo?