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月 可用

相关推荐
勤奋的凯尔森同学36 分钟前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
技术小齐5 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风5 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
落幕5 小时前
C语言-进程
linux·运维·服务器
chenbin5206 小时前
Jenkins 自动构建Job
运维·jenkins
java 凯6 小时前
Jenkins插件管理切换国内源地址
运维·jenkins
AI服务老曹6 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
sszdzq7 小时前
Docker
运维·docker·容器
book01217 小时前
MySql数据库运维学习笔记
运维·数据库·mysql
bugtraq20218 小时前
XiaoMi Mi5(gemini) 刷入Ubuntu Touch 16.04——安卓手机刷入Linux
linux·运维·ubuntu