申请SSL证书
直接申请免费的。
按照提示注册,完成邮箱及域名认证,申请过程中要求你自己生成key文件
openssl req -newkey rsa:2048 -keyout myweb.key -out myweb.csr 这里问你输入一个passphrase,选择一个容易记得,下一步会需要输入。 Country Name (2 letter code) [AU]:US #国家代码 State or Province Name (full name) [Some-State]:New York #省份 Locality Name (eg, city) []:NYC #城市 Organization Name (eg, company) [Internet Widgits Pty Ltd]:Awesome Inc #公司名称 Organizational Unit Name (eg, section) []: #部门名称 Common Name (e.g. server FQDN or YOUR name) []: www.example.com Email Address []: admin@example.com #管理员邮箱
把 myweb.csr 文件内容复制到网站里面去。然后 myweb.key 保留,一会nginx配置需要用到。
myweb.key 文件如果设置有passphrase的,我们需要去掉private key的passphrase才能让Nginx自由自在的启动。
sudo cp myweb.key myweb.key.org sudo openssl rsa -in myweb.key.org -out myweb.key
然后生成好 crt 证书文件并下载,例如为 myweb.crt。
配置nginx
把上面生成的 myweb.key 和 下载的证书文件 1_myweb.bundle.crt 放到nginx配置文件夹下面:
cp myweb.key 1_myweb.bundle.crt /etc/nginx/ssl/
然后在nginx配置文件中加上:
server { listen 443 ssl; server_name www.myweb.com; ssl_certificate /etc/nginx/ssl/1_myweb_bundle.crt; ssl_certificate_key /etc/nginx/ssl/myweb.key; add_header Strict-Transport-Security "max-age=31536000"; return 301 https://myweb.com$request_uri; } server { listen 443; ssl_certificate /etc/nginx/ssl/1_myweb_bundle.crt; ssl_certificate_key /etc/nginx/ssl/myweb.key; ssl on; server_name myweb.com; root /home/deploy/www/myweb.com; index index.html index.htm; }