Nginx搭建https服务器教程

  

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服务器上运行。

希望这个教程对您有所帮助。如果还有任何疑问,请随时问我。

相关文章