Nginx快速部署SSL证书_2023年10月29日可用

一、目的

复制代码
Nginx快速部署SSL证书
                                       --2023年10月29日可用

二、环境

  • Centos/Ubuntu服务器

  • 前端代码文件夹:

    • 假设为:/root/demo文件夹
  • 域名

  • SSL证书(通过上一篇博客获取,获取其他方式获取到的SSL证书)

    • demo.com.cer
    • demo.com.key

三、步骤

3.1 安装Nginx

官方文档:https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/
CentOS

复制代码
sudo yum install epel-release
sudo yum update
sudo yum install nginx
sudo nginx -v
sudo systemctl restart nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Ubuntu

复制代码
sudo apt-get update
sudo apt install nginx
sudo nginx -v
sudo systemctl restart nginx
sudo systemctl enable nginx
sudo systemctl status nginx

3.2 前端代码

前端代码原先位置:/root/demo -> 移动到nginx默认文件夹/usr/share/nginx/html/

复制代码
cp -r /root/demo/* /usr/share/nginx/html/

3.3 HTTP配置

3.3.1 修改Nginx配置

默认配置为/etc/nginx/nginx.conf

复制代码
nano /etc/nginx/nginx.conf

内容修改如下:

复制代码
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }
}

3.3.2 重载配置

复制代码
sudo systemctl restart nginx
sudo systemctl status nginx

3.3.3 网站访问

浏览器访问http://demo.com即可看到对应页面。
注:请确保域名解析到服务器IP已完成。(该步骤一般在域名购买供应商那里操作,不同供应商操作步骤不同,这里不再描述,网上直接搜索即可)

3.4 HTTPS配置

需要SSL证书(参考 上一篇文章申请)

3.4.1 获取SSL证书

上一篇获取到文件包含如下,该密钥文件可以部署到nginx,通过https访问

复制代码
demo.com.cer (公钥)
demo.com.key (私钥)

3.4.2 移动SSL证书

移动证书文件到指定路径/etc/pki/nginx/

复制代码
cp demo.com.cer /etc/pki/nginx/
cp demo.com.key /etc/pki/nginx/

3.4.3 修改Nginx配置

复制代码
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

# Settings for a TLS enabled server.
#
    server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  _;
        root         /usr/share/nginx/html;

        ssl_certificate "/etc/pki/nginx/demo.com.cer";
        ssl_certificate_key "/etc/pki/nginx/demo.com.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on; 
 

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

}

3.4.5 重载配置

复制代码
sudo systemctl restart nginx
sudo systemctl status nginx

sudo systemctl restart nginx
sudo systemctl status nginx

3.4.6 网站访问

浏览器访问https://demo.com即可看到对应页面。
注:请确保域名解析到服务器IP已完成。(该步骤一般在域名购买供应商那里操作,不同供应商操作步骤不同,这里不再描述,网上直接搜索即可)


  • 注:接单前端代码的服务器部署,私信或者邮件hyh_youxiang@163.com

    • 内容包括完整代码的服务器部署流程

    • 服务器域名的购买(自己提供也可以)

    • 域名映射 + 服务器的前端代码部署 150RMB

    • 也支持:静态页面的书写(如落地页、官方网站、个人简历) 200RMB起步,根据页面和内容多少确定

  • 最后效果: demo.com可访问对应网页

其他

如有问题 欢迎提出
如有疑问 欢迎留言
如有作用 欢迎点赞
如有失效 欢迎留言
个人邮箱:hyh_youxiang@163.com
2023年10月 可用

相关推荐
whyutianict_vv1 天前
云计算 HCIE 认证体系解析:HCIA/HCIP/HCIE 三级科目与知识边界
linux·运维·云计算
桌面运维家1 天前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890751 天前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻1 天前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
2601_949847751 天前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906941 天前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗1 天前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
KaiwuDB1 天前
KaiwuDB 分布式集群扩缩容,从原理到完整操作踩坑总结
运维·数据库·分布式
codezzzsleep1 天前
学术汇报 PPT 自动化生成实战指南
运维·自动化·powerpoint
古法老登瞎折腾1 天前
大数据智能运维实战(九):让 AI 查日志——找到异常,也保留上下文
java·大数据·运维·人工智能·spring ai·mcp