Cách thiết lập và định cấu hình proxy mực trên máy chủ riêng
06/06/2023 lúc 15:13
. Vậy Proxy là gì? Để thiết lập và định cấu hình proxy trên máy chủ riêng của bạn. Với tình hình Internet Việt Nam hiện nay. Lượt tìm kiếm Proxy tăng vọt do nhu cầu chuyển đổi Proxy vào các trang nước ngoài tăng đáng kể. Cùng IDC theo dõi bài viết này nhé!
Mục lục
Proxy là gì?
Proxy có nhiệm vụ như một cách cửa giữa kết nối người dùng và Internet. Hoạt động như tường lửa và bộ lọc web. Proxy Server cung cấp kết nối mạng chia sẻ và dữ liệu bộ nhớ cache để tăng tốc các yêu cầu thông thường. Các tính năng quan trọng của Proxy là gì?
Các máy chủ Proxy cung cấp các chức năng, bảo mật cũng như riêng tư khác nhau phụ thuộc vào nhu cầu của bạn hoặc chính sách của công ty. Proxy chỉ một hệ thống Computer hoặc một Router tách biệt kết nối, giữa người gửi (Sender) và người nhận (Receiver) proxy có địa chỉ IP và một cổng truy cập cố định.(tất nhiên là phải khác nhau theo từng địa phương và từng nước)
Ví dụ: 77.71.0.149:8080. Địa chỉ IP của proxy trong ví dụ là 77.71.0.149 và cổng truy cập là 8080.
Xem thêm: Firewall là gì? Filewall dùng để làm gì?
1. Chọn phần mềm proxy:
Dưới đây là một số phần mềm proxy phổ biến mà bạn có thể xem xét:
- Squid: Squid là một phần mềm proxy mã nguồn mở và rất phổ biến. Nó hỗ trợ nhiều giao thức proxy như HTTP, HTTPS, FTP và giao thức giao tiếp qua cổng (ICP). Squid cung cấp nhiều tùy chọn cấu hình linh hoạt và được sử dụng rộng rãi trong các môi trường proxy.
- Nginx: Nginx là một máy chủ web và cũng có khả năng hoạt động như một proxy. Nó hỗ trợ proxy cho HTTP, HTTPS, SMTP và POP3. Nginx có hiệu suất cao, khả năng xử lý tải cao và có thể được sử dụng để cung cấp các dịch vụ proxy cho ứng dụng web.
- Apache: Apache là một máy chủ web phổ biến và cũng có thể hoạt động như một proxy. Bằng cách sử dụng module mod_proxy của Apache, bạn có thể cấu hình proxy cho HTTP, HTTPS và nhiều giao thức khác. Apache cũng cung cấp nhiều tính năng bảo mật và quản lý mạnh mẽ.
- HAProxy: HAProxy là một phần mềm proxy và cân bằng tải được sử dụng phổ biến trong môi trường mạng. Nó hỗ trợ proxy cho TCP và HTTP, và có thể được cấu hình để cân bằng tải truy cập đến các máy chủ backend. HAProxy có hiệu suất cao, ổn định và hỗ trợ nhiều tính năng tiên tiến.
Hãy xem xét yêu cầu và mục đích của bạn khi chọn phần mềm proxy phù hợp. Mỗi phần mềm proxy có ưu điểm và đặc điểm riêng, do đó, đảm bảo đọc tài liệu hướng dẫn và tìm hiểu thêm về tính năng và khả năng của từng phần mềm trước khi quyết định.
2. Cài đặt phần mềm proxy:
Dưới đây là hướng dẫn cài đặt một số phần mềm proxy phổ biến:
- Cài đặt Squid:
- Trên hệ điều hành Ubuntu/Debian, mở Terminal và chạy lệnh sau:sqlCopy code
sudo apt update sudo apt install squid
- Trên hệ điều hành CentOS/RHEL, mở Terminal và chạy lệnh sau:sqlCopy code
sudo yum update sudo yum install squid
- Trên hệ điều hành Ubuntu/Debian, mở Terminal và chạy lệnh sau:sqlCopy code
- Cài đặt Nginx:
- Trên hệ điều hành Ubuntu/Debian, mở Terminal và chạy lệnh sau:sqlCopy code
sudo apt update sudo apt install nginx
- Trên hệ điều hành CentOS/RHEL, mở Terminal và chạy lệnh sau:sqlCopy code
sudo yum update sudo yum install nginx
- Trên hệ điều hành Ubuntu/Debian, mở Terminal và chạy lệnh sau:sqlCopy code
- Cài đặt Apache:
- Trên hệ điều hành Ubuntu/Debian, mở Terminal và chạy lệnh sau:sqlCopy code
sudo apt update sudo apt install apache2
- Trên hệ điều hành CentOS/RHEL, mở Terminal và chạy lệnh sau:sqlCopy code
sudo yum update sudo yum install httpd
- Trên hệ điều hành Ubuntu/Debian, mở Terminal và chạy lệnh sau:sqlCopy code
- Cài đặt HAProxy:
- Trên hệ điều hành Ubuntu/Debian, mở Terminal và chạy lệnh sau:sqlCopy code
sudo apt update sudo apt install haproxy
- Trên hệ điều hành CentOS/RHEL, mở Terminal và chạy lệnh sau:sqlCopy code
sudo yum update sudo yum install haproxy
- Trên hệ điều hành Ubuntu/Debian, mở Terminal và chạy lệnh sau:sqlCopy code
Sau khi cài đặt, bạn đã có phần mềm proxy trên máy chủ của mình. Hãy kiểm tra tài liệu hướng dẫn cụ thể của từng phần mềm để tiếp tục với các bước cấu hình và tùy chỉnh.
3. Cấu hình proxy:
Cấu hình proxy sẽ phụ thuộc vào phần mềm proxy bạn đã cài đặt. Dưới đây là VD về cách cấu hình proxy cho một số phần mềm proxy
1. Cấu hình Squid:
- Mở tệp cấu hình chính của Squid bằng trình soạn thảo văn bản. Đường dẫn tệp có thể là
/etc/squid/squid.conf
.bashCopy codesudo nano /etc/squid/squid.conf
- Cấu hình cổng lắng nghe của proxy. Tìm và chỉnh sửa dòng sau:yamlCopy code
http_port 3128
- Cấu hình quyền truy cập cho proxy. Bạn có thể chỉ cho phép các địa chỉ IP cụ thể hoặc mạng con truy cập proxy. Ví dụ, để cho phép mọi địa chỉ IP truy cập, thêm dòng sau:cssCopy code
http_access allow all
- Lưu tệp cấu hình và khởi động lại Squid để áp dụng các thay đổi:Copy code
sudo systemctl restart squid
2. Cấu hình Nginx:
- Mở tệp cấu hình chính của Nginx bằng trình soạn thảo văn bản. Đường dẫn tệp có thể là
/etc/nginx/nginx.conf
.bashCopy codesudo nano /etc/nginx/nginx.conf
- Cấu hình một máy chủ ảo (virtual server) để hoạt động như proxy. Thêm đoạn mã sau vào phần
http { ... }
của tệp cấu hình:arduinoCopy codeserver { listen 80; server_name yourdomain.com; location / { proxy_pass http://backend_server; } }
Trong đoạn mã trên,yourdomain.com
là tên miền của máy chủ proxy vàbackend_server
là địa chỉ IP hoặc tên miền của máy chủ backend mà proxy sẽ chuyển tiếp yêu cầu đến. - Lưu tệp cấu hình và khởi động lại Nginx để áp dụng các thay đổi:Copy code
sudo systemctl restart nginx
3. Cấu hình Apache:
- Mở tệp cấu hình chính của Apache bằng trình soạn thảo văn bản. Đường dẫn tệp có thể là
/etc/apache2/apache2.conf
hoặc/etc/httpd/conf/httpd.conf
.bashCopy codesudo nano /etc/apache2/apache2.conf
- Cấu hình một máy chủ ảo để hoạt động như proxy. Thêm đoạn mã sau vào phần
VirtualHost
của tệp cấu hình:arduinoCopy code<VirtualHost *:80> ServerName yourdomain.com ProxyPass / http://backend_server/ ProxyPassReverse / http://backend_server/ </VirtualHost>
Trong đoạn mã trên,yourdomain.com
là tên miền của máy chủ proxy vàbackend_server
là địa chỉ IP hoặc tên miền của máy chủ backend mà proxy sẽ chuyển tiếp yêu cầu đến. - Lưu tệp cấu hình, khởi động lại Apache để áp dụng các thay đổi:Copy code
sudo systemctl restart apache2
4. Xác thực người dùng (nếu cần thiết):
Để xác thực người dùng khi sử dụng proxy, bạn có thể áp dụng các cơ chế xác thực như Basic Authentication. Dưới đây là cách thực hiện xác thực người dùng trên một số phần mềm proxy phổ biến:
- Xác thực người dùng trên Squid:
- Mở tệp cấu hình Squid bằng trình soạn thảo văn bản:bashCopy code
sudo nano /etc/squid/squid.conf
- Cấu hình xác thực người dùng bằng cách thêm các dòng sau vào phần cấu hình của Squid:bashCopy code
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours acl authenticated_users proxy_auth REQUIRED http_access allow authenticated_users
- Tạo tệp mật khẩu và thêm người dùng bằng lệnh sau:bashCopy code
sudo touch /etc/squid/passwd sudo htpasswd /etc/squid/passwd username
Thay “username” bằng tên người dùng bạn muốn tạo. - Lưu tệp cấu hình và khởi động lại Squid:Copy code
sudo systemctl restart squid
- Xác thực người dùng trên Nginx hoặc Apache:
- Tạo một tệp mật khẩu cho xác thực Basic Authentication bằng lệnh sau:bashCopy code
sudo htpasswd -c /etc/nginx/.htpasswd username
Thay “username” bằng tên người dùng bạn muốn tạo. - Mở tệp cấu hình của Nginx hoặc Apache và thêm các dòng sau vào phần cấu hình virtual host:bashCopy code
location / { auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/.htpasswd; ... }
- Lưu tệp cấu hình và khởi động lại Nginx hoặc Apache để áp dụng thay đổi:javaCopy code
sudo systemctl restart nginx (hoặc sudo systemctl restart apache2)
Sau khi cấu hình xác thực người dùng, khi truy cập vào proxy, người dùng sẽ được yêu cầu nhập tên người dùng và mật khẩu để xác thực trước khi có quyền truy cập vào proxy.
Lưu ý rằng đây chỉ là một phương pháp xác thực đơn giản và còn nhiều phương pháp xác thực khác mà bạn có thể áp dụng tùy thuộc vào tính năng của phần mềm proxy. Hãy tham khảo tài liệu hướng dẫn chính thức của phần mềm proxy cụ thể mà bạn đang sử dụng để tìm hiểu thêm về các cơ chế xác thực và tùy chỉnh xác thực người dùng.
Xem thêm: Thiết lập, định cấu hình cân bằng tải trên Server riêng
5. Kiểm tra và khởi động lại proxy:
Quá trình kiểm tra và khởi động lại proxy sẽ phụ thuộc vào phần mềm proxy cụ thể mà bạn đang sử dụng. Dưới đây là các lệnh thông thường để kiểm tra và khởi động lại một số phần mềm proxy phổ biến:
- Kiểm tra và khởi động lại Squid:
- Kiểm tra trạng thái hoạt động của Squid:luaCopy code
sudo systemctl status squid
- Khởi động lại Squid:Copy code
sudo systemctl restart squid
- Kiểm tra và khởi động lại Nginx:
- Kiểm tra trạng thái hoạt động của Nginx:luaCopy code
sudo systemctl status nginx
- Khởi động lại Nginx:Copy code
sudo systemctl restart nginx
- Kiểm tra và khởi động lại Apache:
- Kiểm tra trạng thái hoạt động của Apache:luaCopy code
sudo systemctl status apache2 (hoặc sudo systemctl status httpd)
- Khởi động lại Apache:javaCopy code
sudo systemctl restart apache2 (hoặc sudo systemctl restart httpd)
- Kiểm tra và khởi động lại HAProxy:
- Kiểm tra trạng thái hoạt động của HAProxy:luaCopy code
sudo systemctl status haproxy
- Khởi động lại HAProxy:Copy code
sudo systemctl restart haproxy
Lưu ý rằng tên dịch vụ và các lệnh cụ thể có thể khác nhau tùy thuộc vào hệ điều hành và cấu hình cụ thể của bạn. Hãy thay thế các lệnh trên bằng các lệnh tương ứng với phần mềm proxy và hệ điều hành bạn đang sử dụng.
Kết luận:
Quy trình thiết lập và cấu hình proxy có thể khác nhau tùy thuộc vào phần mềm proxy bạn sử dụng. Để biết được các bước chi tiết và các tùy chọn cấu hình. Hãy tham khảo tài liệu hướng dẫn của phần mềm proxy cụ thể mà bạn đang sử dụng.
Trên đây là Cách thiết lập và định cấu hình proxy mực trên máy chủ riêng. IDC Online mong được cung cấp cho bạn những thông tin chi tiết hữu ích hơn nữa.
Mời tham khảo Dịch vụ máy chủ, Cloud, VPS, Web Hosting tại IDC Online