1. Yêu cầu bài toán
- Https: Bảo mật đường truyền -> CloudFlare
- Bảo vệ trang web -> CloudFlare
- Thống kê, báo cáo -> CloudFlare
- Reverse Proxy: Phân tải, có thể publish nhiều application với các port khác nhau trên cùng 1 server -> NginX
Cách thực hiện
Nginx
Mình cài đặt NginX trên CentOS, các môi trường khác tương tự. Nginx config nằm ở đây.
/etc/nginx
Xóa config mặc định port 80
/etc/nginx/nginx.conf
server {
listen 80;
listen [::]:80;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Thêm config cho reverse proxy
tạo trong thư mục reserver-proxies.conf
/etc/nginx/default.d/
server {
listen 80;
server_name test1.tuanld.tk;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
server {
listen 80;
server_name test2.tuanld.tk;
location / {
proxy_pass http://127.0.0.1:8088;
}
}
Trong config trên, dựa vào từng subdomain, nó sẽ forward đến từng service khác nhau.
CloudFlare
-
Tạo 1 tài khoản miễn phí trên https://www.cloudflare.com/
-
Add a new website
-
Cloudflare sẽ yêu cầu chọn gói, mình dùng cơ bản nên chọn gói FREE.
-
Config DNS, bạn thể mua domain miễn phí theo hướng dẫn này
-
CloudFlare sẽ forward đến port 80 trên server, chính vì vậy mình config reserve-proxy nhận port 80 ở trên
-
Bước tiếp theo là config NameServers trên tài khoản Domains
Tùy vào nơi mình mua domain thì sẽ có UI khác nhau. Ví dụ bạn mua của Tenten https://tenten.vn/help/huong-dan-cau-hinh-nameserver-o-tenten/ hay của GoDaddy https://vn.godaddy.com/help/thay-doi-may-chu-ten-cho-mien-cua-toi-664
bước này rất quan trọng.
Sau bước này coi như xong, đợi thôi, thường mất 5-10p sâu khi config bạn sẽ nhận được email thông báo config thành công.
- Redirect http -> https
Kết quả. mình tạo 2 webpage khác nhau, ở 2 subdomain khác nhau.
- HTTPS
- redirect theo từng subdomain
- Analytics rõ ràng và rất nhiều tính năng khác của cloudflare cần tự khám phá.
Kết luận
Theo mình thì đây là combo đúng là ngon bổ và miễn phí.