Mac 配置nginx 的https 私钥.key 和 .pem 怎么生成

在Mac系统中配置Nginx以使用HTTPS时,你需要生成私钥(.key文件)和证书(.pem文件,它通常包含公钥和证书颁发机构的信息)。以下是生成这些文件的步骤:

生成私钥(.key文件)

打开终端:首先,打开Mac的“终端”应用程序。

进入指定目录:使用cd命令进入你想要存放私钥和证书文件的目录。例如,你可以创建一个名为nginx_ssl的目录,并进入该目录:

bash复制代码

mkdir~/nginx_ssl

cd~/nginx_ssl

生成RSA私钥:执行以下命令生成一个2048位的RSA私钥,并将其保存为server.key文件:

bash复制代码

openssl genrsa -out server.key 2048

你不需要为私钥设置密码,因为Nginx在启动时不会自动输入密码。如果你设置了密码,Nginx将无法自动加载私钥。

生成自签名证书(.pem文件)

生成证书签名请求(CSR):首先,你需要生成一个证书签名请求(CSR),它包含了你的公钥和一些关于你的服务器的信息。执行以下命令:

bash复制代码

openssl req -new -key server.key -out server.csr

在执行此命令时,系统会提示你输入一些信息,如国家、省份、城市、组织名称等。这些信息将用于生成证书。

生成自签名证书:由于你可能还没有从证书颁发机构(CA)获得证书,你可以生成一个自签名证书用于测试。自签名证书不是由受信任的CA签发的,因此它主要用于测试和开发环境。执行以下命令生成自签名证书,并将其保存为server.crt文件:

bash复制代码

openssl x509 -req -days 365 -inserver.csr -signkey server.key -out server.crt

这里的-days 365表示证书的有效期为365天。你可以根据需要调整这个值。

将证书转换为PEM格式(如果需要):在某些情况下,你可能需要将证书转换为PEM格式。然而,由于openssl x509命令默认生成的就是PEM格式的证书,因此这一步通常是不必要的。但如果你确实需要将证书转换为PEM格式,可以使用以下命令(尽管这通常是多余的):

bash复制代码

openssl x509 -inserver.crt -outform PEM -out server.pem

但请注意,这实际上只是将证书从一种PEM格式转换为另一种PEM格式,因此文件内容不会发生变化,且你通常会直接使用server.crt文件。

配置Nginx

修改Nginx配置文件:找到你的Nginx配置文件(通常位于/usr/local/etc/nginx/nginx.conf或/etc/nginx/nginx.conf,或者你可能有一个特定于站点的配置文件),并添加或修改以下部分以包含SSL配置:

nginx复制代码

server{

listen443ssl;

server_nameyour_domain.com;

ssl_certificate/path/to/your/server.crt;

ssl_certificate_key/path/to/your/server.key;

# 其他配置... 

}

将/path/to/your/server.crt和/path/to/your/server.key替换为你实际存放证书和私钥文件的路径。

重启Nginx:在修改配置文件后,你需要重启Nginx以使更改生效。可以使用以下命令:

bash复制代码

sudo nginx -s reload

或者,如果你使用的是Homebrew安装的Nginx,可以使用:

bash复制代码

brew services restart nginx

现在,你的Nginx服务器应该已经配置为使用HTTPS了。请确保你的防火墙和Nginx配置允许443端口的流量通过。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容