nginx sử dụng $ server_name trên đường dẫn ssl_cert ve


33

Làm thế nào tôi có thể sử dụng một tên biến trong đường dẫn tập tin?

ssl_certificate /home/ec2-user/.certificados/$server_name.crt;
ssl_certificate_key /home/ec2-user/.certificados/$server_name.key;

Câu trả lời:


37

Bạn không thể sử dụng các biến trong mỗi chỉ thị. ssl_certificateđược coi là một chuỗi ký tự và là một trong nhiều chỉ thị nơi các biến không được hỗ trợ.

Để chỉ định các chứng chỉ khác nhau cho máy chủ, bạn phải ghi rõ ràng vào khối máy chủ:

server {
    server_name example.com;
    ssl_certificate /home/ec2-user/.certificados/example.com.crt;
    ssl_certificate_key /home/ec2-user/.certificados/example.com.key;
    # ...
}
server {
    server_name example.net;
    ssl_certificate /home/ec2-user/.certificados/example.net.crt;
    ssl_certificate_key /home/ec2-user/.certificados/example.net.key;
    # ...
}
# ...

Nếu bạn cảm thấy khó chịu khi sao chép cấu hình, hãy tạo các mẫu và tạo cấu hình nginx bằng các mẫu đó. Xem thêm http://nginx.org/en/docs/faq/variables_in_config.html .


6
hỗ trợ cho các biến trong ssl_certificatessl_certificate_keyđã được thêm vào ngày hôm nay! nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_cert ve
Andrew Brown

6

Bạn có thể sử dụng các biến kể từ nginx 1.15.9 (26 tháng 2 năm 2019)

Lưu ý rằng việc sử dụng các biến ngụ ý rằng một chứng chỉ sẽ được tải cho mỗi lần bắt tay SSL và điều này có thể có tác động tiêu cực đến hiệu suất

Nhưng hãy lưu ý về Thay đổi với nginx 1.15.12 (16 tháng 4 năm 2019):

Lỗi: lỗi phân đoạn có thể xảy ra trong quy trình worker nếu các biến được sử dụng trong các chỉ thị "ssl_cert ve" hoặc "ssl_cert ve_key" và dập ghim OCSP được bật.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.