配置HTTPS证书时,会要求配置证书和私钥。
比如Nginx
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name 192.168.3.91;
root /usr/share/nginx/html;
ssl_certificate "/etc/ssl/certs/signed.crt"; # 证书
ssl_certificate_key "/etc/ssl/private/signed.key"; # 私钥
.crt
和.key
分别代表证书和私钥文件,扩展名是按照文件用途来分的。而.pem
是一种文件格式, pem文件是文本格式的,其他证书格式还有DER。
所以证书.crt
和.key
文件可以是PEM格式文件, 也可以是其他证书格式比如DER(二进制格式)
所以nginx证书文件可以重命名,如果你喜欢用文件格式命名
mv signed.crt cert.pem
mv signed.key key.pem
然后修改nginx配置文件:
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name 192.168.3.91;
root /usr/share/nginx/html;
ssl_certificate "/etc/ssl/certs/cert.pem"; # 证书
ssl_certificate_key "/etc/ssl/private/key.pem"; # 私钥
如何鉴别文件是PEM格式?
PEM文件是文本文件,所以通常都是以-----BEGIN xxx------
开头。
- pem格式的私钥文件
signed.key
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDBaEW7bbrb5+Ah
...
- pem格式的证书文件
-----BEGIN CERTIFICATE-----
MIIDgzCCAmugAwIBAgIJAMDJXuLyXC2HMA0GCSqGSIb3DQEBCwUAMFgxCzAJBgNV
...