下面是详细的“nginx配置https的方法示例(免费证书)”攻略。
准备工作
在配置HTTPS之前,需要准备以下材料:
- 一个域名
- 一台服务器(可以为Linux或Windows服务器)
- 一个电子邮件账户(用于向证书颁发机构CA请求证书)
第一步:申请证书
我们可以免费向Let’s Encrypt证书颁发机构申请证书,以获得可靠的HTTPS证书。
- 安装certbot工具(为方便使用,请安装加入了Nginx插件的版本)
$ sudo apt-get update
$ sudo apt-get install certbot python-certbot-nginx -y
- 申请证书(以example.com为例)
$ sudo certbot certonly --nginx -d example.com
执行以上命令后,请按照提示输入您的电子邮件地址和同意条款,证书生成后默认保存在/etc/letsencrypt/live/example.com
路径下。
第二步:配置Nginx
- 编写HTTPS服务器块配置文件
example.com.conf
server {
listen 443 ssl;
server_name example.com;
root /wwwroot/example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:\
ECDHE-RSA-AES128-GCM-SHA256:\
ECDHE-RSA-AES256-SHA384:\
ECDHE-RSA-AES128-SHA256:\
ECDHE-RSA-AES256-SHA:\
ECDHE-RSA-AES128-SHA:\
RSA-AES256-GCM-SHA384:\
RSA-AES128-GCM-SHA256:\
RSA-AES256-SHA256:\
RSA-AES128-SHA256:\
RSA-AES256-SHA:\
RSA-AES128-SHA;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
location / {
index index.html;
}
}
- 在原来的HTTP块中,添加重定向到HTTPS服务器块的配置
server{
listen 80;
server_name example.com
root /wwwroot/example.com;
location / {
index index.html;
return 301 https://$server_name$request_uri;
}
}
完成
配置完成后,您需要重启Nginx服务,运行以下命令:
$ sudo systemctl restart nginx
这样,您的网站就可以使用HTTPS协议进行访问了。
总结
这就是配置Nginx使用HTTPS的完整攻略,我们可以免费申请Let's Encrypt证书,并使用Nginx进行配置。希望这篇攻略对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nginx配置https的方法示例(免费证书) - Python技术站