Thiết lập tính năng lưu trữ đường dẫn con với Caddy

Hãy tìm hiểu cách thiết lập trung tâm trợ giúp của bạn trên một đường dẫn phụ như /help bằng cách sử dụng máy chủ proxy ngược Caddy.

5 phút đọc

Bạn có thể sử dụng Caddy để hiển thị trung tâm trợ giúp Notiondesk từ một đường dẫn phụ của tên miền chính.

Ví dụ, thay vì sử dụng tên miền phụ như help.yourdomain.com, bạn có thể cho phép truy cập trung tâm trợ giúp của mình từ:

  • yourdomain.com/help
  • yourdomain.com/docs
  • yourdomain.com/support

Cấu hình này hữu ích nếu trang web chính của bạn được lưu trữ trên máy chủ nơi Caddy đã được sử dụng làm máy chủ web hoặc máy chủ proxy ngược.

Trước khi bạn bắt đầu

Trước khi thiết lập tính năng lưu trữ đường dẫn con với Caddy, hãy đảm bảo bạn đã có:

  • Quyền truy cập vào máy chủ của bạn
  • Truy cập vào Caddyfile của bạn
  • Một đường dẫn phụ bạn muốn sử dụng cho trung tâm trợ giúp của mình, ví dụ:
    • __ĐƯỢC BẢO QUẢN_19__
    • __ĐƯỢC BẢO QUẢN_18__
    • __ĐƯỢC BẢO TỒN_17__

Bạn cũng nên đảm bảo trang web chính của mình hoạt động bình thường trước khi thêm cấu hình đường dẫn phụ Notiondesk.

Bật tính năng lưu trữ đường dẫn con trong Notiondesk

Trước tiên, hãy bật tính năng lưu trữ đường dẫn con từ bảng điều khiển Notiondesk của bạn.

  1. Mở bảng điều khiển Notiondesk của bạn
  1. Đi đến Settings > General
  1. Cuộn xuống phần Domains
  1. Bật công tắc Subpath
  1. Lưu thay đổi
  1. Sao chép cấu hình Caddy đã tạo.

Lệnh Notiondesk tạo ra một cấu hình Caddy với các giá trị chính xác cho trung tâm trợ giúp của bạn. Bạn cần thêm cấu hình này vào tệp Caddyfile của mình ở bước tiếp theo.

Thêm cấu hình Caddy

Sau khi sao chép cấu hình từ Notiondesk, hãy thêm nó vào Caddyfile của bạn.

Mở khối quản lý trang web Caddy chứa tên miền trang web chính của bạn.

Ví dụ:

Thêm tuyến đường Notiondesk được tạo vào bên trong khối trang web này.

Cấu hình cần xử lý các trường hợp sau:

yourdomain.com {
    # Your main website configuration
}
  • Đường dẫn phụ trung tâm trợ giúp bạn đã chọn, ví dụ như /help
  • Các trang trung tâm trợ giúp lồng nhau, chẳng hạn như /help/*
  • Notiondesk các tuyến đường nội bộ, chẳng hạn như /_nd/*

Mọi đường dẫn khác vẫn nên được quản lý bởi trang web chính của bạn.

Ví dụ, nếu trung tâm trợ giúp của bạn sử dụng /help, thì chỉ /help, /help/*/_nd/* mới nên được chuyển tiếp đến Notiondesk.

Ví dụ về proxy ngược Caddy

Đây là một ví dụ về cấu hình Caddy cho trung tâm trợ giúp được phục vụ từ /help.

Bạn nên sao chép cấu hình được tạo từ bảng điều khiển Notiondesk của riêng bạn. Tên miền trung tâm trợ giúp, đường dẫn phụ và giá trị proxy là dành riêng cho thiết lập của bạn.

Nạp lại Caddy

Sau khi thêm cấu hình vào Caddyfile, hãy khởi động lại Caddy để áp dụng các thay đổi.

Lệnh chính xác phụ thuộc vào cấu hình máy chủ của bạn. Nếu Caddy được quản lý bằng systemd, bạn thường có thể tải lại nó bằng lệnh sau:

Trước khi tải lại, bạn cũng có thể xác thực tệp Caddyfile của mình:

Nếu quá trình xác thực thành công, hãy tải lại Caddy và kiểm tra đường dẫn phụ trung tâm trợ giúp của bạn.

Kiểm tra thiết lập của bạn

Sau khi tải lại Caddy, hãy mở đường dẫn phụ đến trung tâm trợ giúp trong trình duyệt của bạn.

Sau đó, hãy kiểm tra một vài trang để đảm bảo mọi thứ hoạt động chính xác:

route {
    @subpath path /help /help/*
    handle @subpath {
        reverse_proxy your-help-center.notiondesk.help:443 {
            header_up Host {http.request.host}
            header_up X-Forwarded-Host {http.request.host}
            header_up X-Forwarded-Proto https
            header_up X-Site-Path-Prefix /help
            transport http {
                tls
                tls_server_name your-help-center.notiondesk.help
            }
        }
    }

    handle /_nd/* {
        reverse_proxy your-help-center.notiondesk.help:443 {
            header_up Host {http.request.host}
            header_up X-Forwarded-Host {http.request.host}
            header_up X-Forwarded-Proto https
            transport http {
                tls
                tls_server_name your-help-center.notiondesk.help
            }
        }
    }

    # Let your main app handle every other path.
}

sudo systemctl reload caddy
caddy validate

  • Mở trang chủ trung tâm trợ giúp
  • Mở trang bài viết đã biết
  • Mở trang chủ của trang web chính của bạn

Bài viết liên quan

Trang này có hữu ích không?