Nginx搭建https服务器的教程分为以下步骤:
Step 1. 购买SSL证书
在开始Nginx搭建https服务器之前,首先需要购买SSL证书。可以购买来自第三方机构的证书,也可以自己签发自签名证书。这里以Let's Encrypt免费证书为例,Step 2中会详细说明如何获取证书。
Step 2. 安装Nginx
在安装Nginx之前,需要先安装一些必要的工具:
sudo apt-get update
sudo apt-get install -y nginx openssl
Step 3. 生成SSL证书
使用certbot自动获取Let's Encrypt证书。执行以下命令,会自动安装certbot和Nginx插件
sudo apt-get install -y certbot python3-certbot-nginx
然后执行以下命令,它将自动为您的域名生成证书,并将配置文件更新为使用HTTPS:
sudo certbot --nginx -d example.com
如果证书申请成功会显示以下信息:
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Step 4. 修改Nginx配置文件
使用文本编辑器打开Nginx配置文件,并进行以下更改:
sudo vi /etc/nginx/sites-available/default
在server指令段中增加以下内容:
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
示例1:Nginx搭建自己的博客网站
如果您已经有了启用HTTPS的Nginx服务器,可以使用以下步骤将您的博客网站部署到服务器上。
Step 1. 安装博客系统
可以选择使用WordPress或者Ghost等博客系统。具体安装方法可以参考官方文档。
Step 2. 配置Nginx
使用以下命令新建一个博客网站的配置文件:
sudo vi /etc/nginx/sites-available/myblog
在文件中写入以下内容:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Step 3. 启用新配置文件
使用以下命令创建符号链接以启用新的博客网站配置文件:
sudo ln -s /etc/nginx/sites-available/myblog /etc/nginx/sites-enabled/
Step 4. 重启Nginx
使用以下命令重启Nginx服务器:
sudo systemctl restart nginx
现在您的博客网站已在启用HTTPS的Nginx服务器上运行。
示例2:Nginx搭建仪表盘
可以使用以下步骤将您的仪表盘部署到服务器上。
Step 1. 下载仪表盘代码
可以从Github等代码库中下载仪表盘的代码,并将其放置在服务器的“/var/www/html/dashboard/”目录下。
Step 2. 配置Nginx
使用以下命令新建一个仪表盘的配置文件:
sudo vi /etc/nginx/sites-available/dashboard
在文件中写入以下内容:
server {
listen 80;
server_name dashboard.example.com;
location / {
root /var/www/html/dashboard/;
index index.html;
}
}
server {
listen 443 ssl;
server_name dashboard.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root /var/www/html/dashboard/;
index index.html;
}
}
Step 3. 启用新配置文件
使用以下命令创建符号链接以启用新的仪表盘配置文件:
sudo ln -s /etc/nginx/sites-available/dashboard /etc/nginx/sites-enabled/
Step 4. 重启Nginx
使用以下命令重启Nginx服务器:
sudo systemctl restart nginx
现在您的仪表盘已在启用HTTPS的Nginx服务器上运行。
希望这个教程对您有所帮助。如果还有任何疑问,请随时问我。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx搭建https服务器教程 - Python技术站