1. 需要修改的配置文件,只放了比较核心的地方,别的地方自己搞
http {
server {
# HTTP 和 HTTPS 都使用,如果不使用HTTP则注释掉80端口即可
listen 80;
listen 443 ssl;
server_name localhost;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
}
}
2.上面 1 里面的 ssl/server.crt 这个路径,要看自己nginx本身的证书放置的路径,docker安装的情况下,需要把nginx的路径给挂载出来。比如 /etc/ssl/certs 映射到宿主机的目录
3. 生成证书的方法
# 1.创建服务器证书密钥文件 server.key:
openssl genrsa -des3 -out server.key 2048
# 输入密码,确认密码,自己随便定义,但是要记住,后面会用到。
# 2.创建服务器证书的申请文件 server.csr
openssl req -new -key server.key -out server.csr
# 输出内容为:
Enter pass phrase for root.key: ← 输入前面创建的密码
Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名
Organizational Unit Name (eg, section) []: ← 可以不输入
Common Name (eg, YOUR name) []: ← 此时不输入
Email Address []:admin@mycompany.com ← 电子邮箱,可随意填
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: ← 可以不输入
An optional company name []: ← 可以不输入
# 4.备份一份服务器密钥文件
cp server.key server.key.org
# 5.去除文件口令
openssl rsa -in server.key.org -out server.key
# 6.生成证书文件server.crt
openssl x509 -req -days 365000 -in server.csr -signkey server.key -out server.crt