Cài đặt Trình quản lý proxy Nginx - Hướng dẫn thiết lập 2 phút
Dịch vụ của bạn hiện đang hoạt động ở các địa chỉ xấu như 192.168.1.50:8080. Nginx Proxy Manager biến chúng thành những cái tên rõ ràng như app.yourdomain.com với HTTPS miễn phí - được cài đặt bằng một tệp Docker Compose và được quản lý từ bảng điều khiển web đơn giản thay vì tệp cấu hình viết tay.
📑Các chương
- Công dụng của proxy ngược - một cửa cho tất cả các dịch vụ của bạn
- Những gì bạn cần trước khi bắt đầu - Docker, miền và các cổng có thể truy cập
- Trỏ DNS miền của bạn tới máy chủ trước khi cài đặt bất cứ thứ gì
- Tạo thư mục và tệp docker-compose.yml
- Khởi động Trình quản lý proxy Nginx bằng một lệnh
- Đăng nhập lần đầu - bước tài khoản quản trị viên ai cũng mắc lỗi
- Tạo máy chủ proxy đầu tiên của bạn, theo từng trường
- Nhận chứng chỉ Lets Encrypt HTTPS miễn phí và bật Force SSL
📋 Tổng quan & Hướng dẫn từng bước
Những gì bạn cần trước khi bắt đầu
Ba thứ phải tồn tại trước khi Nginx Proxy Manager (NPM) có thể hoạt động. Đầu tiên, máy chủ Linux hoặc PC có Docker và Docker Compose đã được cài đặt và hoạt động - NPM chạy dưới dạng vùng chứa chứ không phải như một chương trình thông thường. Thứ hai, một tên miền có DNS mà bạn có thể chỉnh sửa vì mọi dịch vụ đều có tên miền phụ riêng. Thứ ba, bộ định tuyến hoặc tường lửa đám mây của bạn phải có khả năng chuyển tiếp cổng 80 và 443 tới máy này.
Trỏ DNS miền của bạn tới máy chủ trước
NPM định tuyến lưu lượng truy cập theo tên và Lets Encrypt chỉ cấp chứng chỉ cho những tên có thể trỏ đến máy của bạn - vì vậy tên phải được phân giải trước khi bạn xây dựng bất kỳ thứ gì trên đó. Tại công ty đăng ký hoặc máy chủ DNS của bạn, hãy thêm Bản ghi A: Tên chỉ là từ tên miền phụ (ví dụ: ứng dụng) và Giá trị là địa chỉ IP công cộng của máy chủ của bạn. Mỗi dịch vụ đều có bản ghi riêng và tất cả chúng đều có thể trỏ đến cùng một IP - NPM sẽ phân tách các dịch vụ sau đó theo tên. Đặt TTL ngắn chẳng hạn như 300 giây trong khi kiểm tra để lỗi sẽ mờ dần sau vài phút thay vì hàng giờ.
Hãy chứng minh điều đó trước khi bạn tiếp tục: kiểm tra xem tên đó có phân giải thành IP công cộng của bạn từ mạng bên ngoài hay không (ví dụ: từ điện thoại của bạn đã tắt Wi-Fi). Yêu cầu chứng chỉ chống lãng phí DNS bị hỏng Cho phép mã hóa các lần thử và các lỗi lặp lại có thể giới hạn tốc độ của bạn trong nhiều giờ. Thứ tự quan trọng: DNS đầu tiên, máy chủ proxy thứ hai, chứng chỉ thứ ba.
Tạo thư mục và tệp soạn thảo
Tạo một thư mục cho NPM trên máy chủ và lưu tệp bên dưới dưới dạng docker-compose.yml. Tập tin duy nhất này là cài đặt hoàn chỉnh. Tên hình ảnh là hình ảnh cộng đồng chính thức. Cổng 80 và 443 là cửa công cộng, cổng 81 là bảng quản trị và hai ổ đĩa là nơi tồn tại toàn bộ thiết lập của bạn: ./data chứa cơ sở dữ liệu với tất cả máy chủ proxy của bạn và ./letsencrypt chứa chứng chỉ của bạn. Mất hai thư mục đó và bạn mất toàn bộ thiết lập - hãy sao lưu chúng khi mọi thứ đang chạy.
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Dòng khởi động lại: trừ khi bị dừng tự động đưa NPM trở lại sau khi khởi động lại.
Bắt đầu Trình quản lý proxy Nginx
Từ bên trong thư mục đó, hãy chạy lệnh bắt đầu. Docker tải xuống hình ảnh và khởi động vùng chứa ở chế độ nền.
docker compose up -d
Kiểm tra nó đang chạy:
docker ps
Bạn sẽ thấy vùng chứa được liệt kê với các cổng 80, 443 và 81. Trên máy chủ nhỏ, lần khởi động đầu tiên mất một hoặc hai phút trong khi cơ sở dữ liệu được tạo. Nếu vùng chứa tiếp tục khởi động lại, nhật ký sẽ hiển thị lý do bằng ngôn ngữ đơn giản:
docker compose logs
Chín trong số mười lần vòng lặp khởi động lại là một cổng đã được sử dụng bởi một thứ khác trên máy chủ - thường là một máy chủ web cũ vẫn đang chạy.
Đăng nhập lần đầu - Bảo mật tài khoản quản trị ngay lập tức
Mở bảng quản trị trong trình duyệt trên mạng của riêng bạn:
http://your-server-ip:81
Làm điều này trong phút đầu tiên. Tùy thuộc vào bản dựng, NPM yêu cầu bạn thay thế thông tin chi tiết về quản trị viên đăng nhập lần đầu quen thuộc bằng email của chính bạn và mật khẩu mạnh hoặc - trên các bản dựng mới hơn không có tài khoản mặc định - người đầu tiên mở trang quản trị sẽ tạo quản trị viên. Dù theo cách nào thì quy tắc đều giống nhau: thiết lập tài khoản quản trị viên của riêng bạn ngay khi vùng chứa khởi động, trước khi tạo bất kỳ nội dung nào khác và sử dụng hộp thư thực - email NPM giải quyết các vấn đề về chứng chỉ.
Tạo máy chủ proxy đầu tiên của bạn
Trong NPM mở Máy chủ → Máy chủ proxy → Thêm máy chủ proxy và điền vào biểu mẫu dưới dạng một câu - "tên này sẽ chuyển đến dịch vụ nội bộ đó":
Tên miền: app.yourdomain.com - tên công khai chính xác từ Bước 2, tên này phải được phân giải tới máy chủ của bạn.
Lược đồ: http dành cho hầu hết các ứng dụng gia đình và văn phòng. Lược đồ mô tả kết nối giữa NPM và dịch vụ nội bộ chứ không phải những gì khách truy cập sử dụng - NPM xử lý mã hóa công khai ngay tại cửa. Chỉ chọn https ở đây khi chính ứng dụng nội bộ phân phối HTTPS.
Chuyển tiếp tên máy chủ / IP: địa chỉ nội bộ của dịch vụ, ví dụ 192.168.1.50.
Cổng chuyển tiếp: cổng mà dịch vụ thực sự lắng nghe, ví dụ: 8080 - không phải 80 hay 443; đó là cánh cửa của NPM, không phải của dịch vụ.
Bật Chặn các hành vi khai thác phổ biến rồi Lưu. Kiểm tra ngay lập tức bằng cách mở tên trong trình duyệt - lý tưởng nhất là từ điện thoại của bạn đã tắt Wi-Fi, để bạn kiểm tra đường dẫn công cộng thực sự.
localhost bị sai (bên trong vùng chứa của NPM, localhost có nghĩa là chính NPM) - sử dụng IP LAN của máy chủ với cổng đã xuất bản hoặc đặt cả hai vùng chứa trên cùng một mạng Docker và sử dụng tên vùng chứa.Nhận chứng chỉ HTTPS miễn phí cho phép mã hóa
Chỉ thực hiện việc này sau khi máy chủ đơn giản ở Bước 6 đã hoạt động - HTTPS trên máy chủ bị hỏng sẽ cung cấp cho bạn một máy chủ bị hỏng có chứng chỉ và hai lần địa điểm để tìm lỗi. Mở cùng một máy chủ proxy, đi tới tab SSL, đặt Chứng chỉ SSL thành Yêu cầu chứng chỉ SSL mới, bật Bắt buộc SSL và Hỗ trợ HTTP/2, đồng ý với Điều khoản dịch vụ của Lets Encrypt và Lưu. Tải lại trang web - trình duyệt bây giờ sẽ hiển thị ổ khóa trên https.
Cách hoạt động: Lets Encrypt chứng minh bạn kiểm soát tên bằng cách yêu cầu máy chủ của bạn, qua internet công cộng trên cổng 80, hiển thị mã thông báo một lần (thử thách HTTP-01). Đó là lý do tại sao DNS trỏ đến bạn và cổng 80 có thể truy cập là không thể thương lượng - một trong hai không thành công và yêu cầu không thành công, đồng thời lỗi nằm ở quá trình thiết lập, không bao giờ xảy ra ở Lets Encrypt. Buộc SSL tự động chuyển hướng mọi khách truy cập http sang https; không có nó, cánh cửa không được mã hóa vẫn mở bên cạnh cánh cửa được mã hóa.
🏷️Biến và từ khóa tìm kiếm chủ đề
🎙️ Bản ghi đầy đủ - nhấn để mở rộng
__TOK_34__
__TOK_35__
__TOK_36__
❓ Câu hỏi thường gặp
Hướng dẫn này có miễn phí 100% để làm theo không?
__TOK_37__
Người mới bắt đầu có thể làm theo hướng dẫn này không?
__TOK_38__
Tôi có thể đặt câu hỏi ở đâu nếu gặp khó khăn?
__TOK_39__