Việc định cấu hình tài khoản người dùng cơ sở dữ liệu cho MariaDB MaxScale và một cụm phụ trợ thường yêu cầu một nỗ lực trùng lặp. Điều này là do một mục nhập tài khoản phải tồn tại cho cả máy chủ khách hàng thực và máy chủ lưu trữ MaxScale. MaxScale xác thực người dùng đến so với mục nhập của người dùng bằng máy chủ khách hàng thực. Khi MaxScale tạo phiên định tuyến, nó sử dụng xáo trộn tên người dùng và mật khẩu của ứng dụng khách để xác thực ứng dụng khách với chương trình phụ trợ. Phần phụ trợ thấy kết nối đến từ máy chạy MaxScale. Trừ khi tên máy chủ sử dụng ký tự đại diện (bảo mật thấp), các mục nhập cho cả hai máy chủ là bắt buộc. Nếu tài khoản người dùng thường xuyên được sửa đổi, việc trùng lặp này có thể trở nên phức tạp và dẫn đến lỗi.
MariaDB Server 10.3 bổ sung hỗ trợ cho giao thức proxy cho phép kết nối tự chỉ định máy chủ của nó. Giao thức nói rằng khi một kết nối đã được thiết lập, trước tiên máy khách (trước khi phản hồi bắt tay MySQL) gửi một tiêu đề giao thức proxy. Tiêu đề này chứa tên máy chủ mà máy chủ nên hình dung kết nối bắt nguồn từ đó thay vì sử dụng tên máy chủ thực. Vì lý do bảo mật, tiêu đề proxy chỉ được phép từ các địa chỉ được liệt kê trong biến máy chủ “proxy_protocol_networks”. Do đó, tính năng này cho phép các địa chỉ ip được chọn hoạt động như proxy mà không cần có tài khoản người dùng thực trên phần phụ trợ cơ sở dữ liệu. Ví dụ:tiêu đề “PROXY TCP4 192.168.0.1 192.168.0.2 56324 443” hướng dẫn máy chủ xác thực máy khách như thể máy khách đang kết nối từ 192.168.0.1.
Tính năng này có thể được sử dụng để đơn giản hóa việc quản lý tài khoản người dùng khi sử dụng MaxScale 2.2 và MariaDB Server 10.3. Để bật tính năng này trong MaxScale, hãy thêm dòng “proxy_protocol =on” vào định nghĩa máy chủ trong tệp cấu hình MaxScale của bạn (thông thường điều này phải được thêm vào tất cả các phần máy chủ).
Ví dụ về định nghĩa máy chủ MaxScale:
[MyServer1]
type=server
address=123.456.789.0
port=3306
protocol=MariaDBBackend
proxy_protocol=yes
Khi MaxScale cố gắng tạo một phiên máy khách trên máy chủ, MaxScale trước tiên sẽ gửi một tiêu đề proxy với tên máy chủ ban đầu của máy khách. Nếu IP MaxScale được tìm thấy trong “proxy_protocol_networks” của máy chủ, thì tiêu đề sẽ được đọc và kết nối được xác thực bằng địa chỉ máy khách thực. Đối với cài đặt máy chủ, hãy xem tài liệu máy chủ để biết thêm thông tin.
Giả sử IP MaxScale là “111.222.333.4”, hãy thêm phần sau vào phần [mysqld] của cấu hình máy chủ:
proxy_protocol_networks = 111.222.333.4
Với những cài đặt này, máy khách đến “normal_user” không cần phải có mục nhập cho máy chủ “111.222.333.4” trong bảng mysql.user-table. Chỉ cần một mục nhập cho máy chủ khách hàng thực.
Tải xuống MariaDB MaxScale 2.2 và MariaDB Server 10.3 như một phần của MariaDB TX 3.0, hiện có sẵn để tải xuống.