Vì sao dịch vụ systemd không nhận thiết lập proxy từ shell của bạn
Đặt cấu hình proxy vào môi trường thực sự của dịch vụ systemd; export trong cửa sổ dòng lệnh không cấu hình lại tiến trình đang chạy.
Hãy kiểm tra dịch vụ đang lỗi thay vì export thêm một biến trong cửa sổ dòng lệnh. systemctl cat example.service hiển thị unit và các cấu hình bổ sung của dịch vụ; tìm EnvironmentFile, thiết lập ghi đè khác hoặc cấu hình proxy riêng của ứng dụng. Chỉ đọc cục bộ những đầu ra chứa thông tin xác thực.
Nếu ứng dụng sử dụng biến môi trường proxy HTTP, cấu hình bổ sung của dịch vụ có thể cung cấp:
[Service]
Environment="HTTP_PROXY=http://203.0.113.10:8080"
Environment="HTTPS_PROXY=http://203.0.113.10:8080"Thay địa chỉ mẫu trong tài liệu và dùng tên biến mà ứng dụng hỗ trợ. Với dịch vụ được phép dùng proxy HTTP công cộng, các địa chỉ ứng viên có trong danh sách proxy HTTP. Máy khách có cấu hình riêng có thể bỏ qua các đầu vào này. Cũng cần xác nhận đây là dịch vụ hệ thống cần sửa: Dịch vụ người dùng có trình quản lý và môi trường khác; thay đổi unit hệ thống có tên tương tự sẽ không khắc phục được nó.
Sau khi sửa đúng unit hoặc cấu hình bổ sung, nạp lại các định nghĩa và khởi động lại dịch vụ đó khi có thể gián đoạn công việc của nó:
sudo systemctl daemon-reload
sudo systemctl restart example.serviceChỉ daemon-reload không thay thế môi trường của tiến trình đang chạy. Khởi động lại mới bắt đầu tiến trình mới; export trong shell ảnh hưởng chỉ tới shell đó và các tiến trình con mà nó khởi chạy sau đó.
Khi dịch vụ nhận được URL mong đợi, hãy lần theo lỗi thực tế của nó. Tài khoản của dịch vụ có thể không có quyền truy cập tệp CA, không gian tên mạng của nó có thể không tới được bộ lắng nghe hoặc proxy có thể từ chối yêu cầu. Đây là các bước kiểm tra tiếp theo, không phải lý do để tiếp tục sửa những hồ sơ shell không liên quan.