Nginx 域名证书 Http 和 Https 详细配置

小伙伴们好,欢迎关注,一起学习,无限进步

项目开发完成后,将项目部署到服务器上时,为了保证安全性和加密通信,我们通常会配置 Nginx 作为反向代理服务器,并使用域名证书启用 HTTPS。下面将为你指导 Nginx 如何配置域名和证书。

文章目录

      • 环境准备
      • Nginx 部署步骤
      • 证书申请
      • 上传证书
      • 配置 ssl 及证书
      • Nginx 完整配置
      • Nginx 常用命令

环境准备

域名准备,提前准备好域名或重新申请一个新的域名,域名解析到你部署项目的服务器。下载好 Nginx 对应的证书,这里我用的阿里云,一个域名可以申请 20 个免费的证书(推荐)。

Nginx 部署步骤

可参考这篇文章:nginx 在 Linux 系统下安装部署的两种方式详细说明

前后端项目部署可参考这篇文章:非常详细的前端后端分离项目部署步骤

证书申请

阿里云证书申请:地址

免费证书 -> 创建证书 -> 输入证书需要解析的域名,解析完成,下载对应的项目部署代理对应的 nginxtomcat证书

上传证书

在安装 Nginx 的目录下创建一个 ssl 的文件夹,证书一开始下载后是一个 zpi 的压缩包,上传解压修改证书配置对应的目录即可。

有些服务器没有 zipunzip 的以来和命令,执行以下一行命令

yum install -y zip unzip

配置 ssl 及证书

ssl 配置说明,修改 linsten 对应的端口和 server_name 对应的域名,修改证书对应的 xxx.pemxxx.key

# 修改监听的端口,注意不要忘了加 ssl
listen  443 default ssl;
# 域名可以有多个,用逗号隔开
server_name  xxxxx.com;# 配置域名证书
ssl_certificate         /data/nginx/ssl/sjy.pem; 
ssl_certificate_key     /data/nginx/ssl/sjy.key;
# 用于缓存 SSL 会话参数的共享内存区的大小,使用大小单位(例如 10m 表示 10 兆字节)
ssl_session_cache  shared:SSL:1m;#  SSL 会话的过期时间 默认5分钟
ssl_session_timeout 5m;
# SSL/TLS 协议版本,可以指定多个,以空格分开
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;
# 指定是否优先使用服务器端加密算法顺序。设置为 on,表示使用服务器端优先的加密算法顺序。默认情况下,该选项为 off
ssl_prefer_server_ciphers on;
# 加密算法的优先顺序
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

修改完成,重启 nginx ,然后通过浏览器访问域名:xxxx.com 即可

Nginx 完整配置

可直接使用,修改对应的文件目录即可

user  root;
worker_processes  auto;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;# 开启gzip压缩gzip on;# 不压缩临界值,大于1K的才压缩,一般不用改gzip_min_length 1k;# 压缩缓冲区gzip_buffers 16 64K;# 压缩版本(默认1.1,前端如果是squid2.5请使用1.0)gzip_http_version 1.1;# 压缩级别,1-10,数字越大压缩的越好,时间也越长gzip_comp_level 5;# 进行压缩的文件类型gzip_types text/plain application/x-javascript text/css application/xml application/javascript;# 跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding"gzip_vary on;# IE6对Gzip不怎么友好,不给它Gzip了gzip_disable "MSIE [1-6]\.";# 配置 80 端口server {listen       80;# 域名可以有多个,用逗号隔开,把 xxxx 替换成对应域名即可,不许加 http wwwserver_name  xxxxx.com; # HTTP 自动跳转 HTTPSrewrite ^(.*) https://$server_name$1 permanent;charset utf-8;location / {root   /data/pro/front/ruoyi-ui;try_files $uri $uri/ /index.html;index  index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}# 配置 443 端口server {listen  443 default ssl;# 域名可以有多个,用逗号隔开,把 xxxx 替换成对应域名即可,不许加 http wwwserver_name  xxxxx.com;charset utf-8;# 配置域名证书ssl_certificate         /data/nginx/ssl/sjy.pem; ssl_certificate_key     /data/nginx/ssl/sjy.key;# 用于缓存 SSL 会话参数的共享内存区的大小,使用大小单位(例如 10m 表示 10 兆字节)ssl_session_cache  shared:SSL:1m;#  SSL 会话的过期时间 默认5分钟ssl_session_timeout 5m;# SSL/TLS 协议版本,可以指定多个,以空格分开ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;# 指定是否优先使用服务器端加密算法顺序。设置为 on,表示使用服务器端优先的加密算法顺序。默认情况下,该选项为 offssl_prefer_server_ciphers on;# 加密算法的优先顺序ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;proxy_set_header    Host                  $host;proxy_set_header    X-Real-IP             $remote_addr;proxy_set_header    X-Forwarded-For       $proxy_add_x_forwarded_for;proxy_set_header    X-Forwarded-Proto     $scheme;location / {root   /data/pro/front/ruoyi-ui;try_files $uri $uri/ /index.html;index  index.html index.htm;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

替换配置后,重新加载一个 nginx.conf 的配置文件,浏览器能正常访问则说明配置成功

Nginx 常用命令

# 首先进入 nginx 可执行文件目录,我这是是安装到 /data/nginx/sbin 目录下
cd /data/nginx/sbin
./nginx  # 启动
./nginx -s stop  # 停止(暴力停止服务)
./nginx -s quit  # 安全退出(优雅停止服务)
./nginx -s reload  # 重新加载配置文件
./nginx -h # 帮助命令
./nginx -t # 检查配置文件
/data/nginx/conf/nginx.conf # nginx配置文件路径
ps aux|grep nginx  # 查看nginx进程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/722726.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序API能力集成指南——画布API汇总(一)

RJS Canvas Canvas Canvas 实例, 在 RJS 中可通过 getCanvasById 获取。 属性 number width:画布宽度 number height:画布高度 方法 如下。 1、getContext Canvas.getContext(string contextType) RenderingContext Canvas.getContext(string c…

链表(Linked List)算法的使用场景和使用例子详解

链表(Linked List)是一种常见的数据结构,它由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。链表算法在软件开发程序中有着广泛的应用场景。 链表算法基础知识: 链表算法基础知识主要包括链表的基本概…

利用 Redis 和 Lua 实现高效的限流功能

简介 在现代系统中,限流是一种重要的机制,用于控制服务端的流量并保护系统免受恶意攻击或请求泛滥的影响。本文将介绍如何利用 Redis 和 Lua 结合实现高效的限流功能。 一、什么是限流 限流指的是对系统中的请求进行控制和调节,确保系统在…

window安装Miniconda的步骤

安装Miniconda是一个简单直接的过程,适合希望在Windows上进行Python开发而又不想安装Anaconda那样庞大软件包的用户。以下是详细的步骤: 第1步:下载Miniconda安装程序 打开你的网络浏览器,访问Miniconda的官方下载页面&#xff…

Cluade3干货:超越GPT,模型特点分析+使用教程|2024年3月更新

就在刚刚,Claude 发布了最新的大模型 Claude3,并且一次性发布了三个模型,分别是 Claude 3 Haiku:(日本俳句 )Claude 3 Sonnet(英文十四行诗)Claude 3 Opus(古典乐作品集…

docker-compose Install rustdesk

RustDesk RustDesk 是一款开源的远程支持和远程桌面工具,它旨在为用户提供便捷的远程协助和远程访问功能。 默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP。…

力扣爆刷第86天之hot100五连刷16-20

力扣爆刷第86天之hot100五连刷16-20 文章目录 力扣爆刷第86天之hot100五连刷16-20一、238. 除自身以外数组的乘积二、41. 缺失的第一个正数三、73. 矩阵置零四、54. 螺旋矩阵五、48. 旋转图像 一、238. 除自身以外数组的乘积 题目链接:https://leetcode.cn/problem…

streamlit初学-用streamlit实现云台控制界面

用streamlit实现云台控制界面 效果图PC上的效果手机上的效果 源码: 本文演示了,如何用streamlit做一个云台控制界面。功能包括:用户登录,事件的处理,图片的更新 版本信息: streamlit_authenticator: 下载链接streamlit : 1.31.1python: 3.11 修改点: streamlit_authenticato…

AndroidStudio安装Android模拟器AVD及遇到的问题解决

打开DeiviceManager 创建虚拟机 选个常规的1080*1920分辨率 这里就遇到一个报错: Android SDK is up to date. Running Android Emulator hypervisor driver installer [SC] ControlService 失败 1062: 服务尚未启动。 [SC] DeleteService 成功 [SC] 由于发生错误…

【大数据运维】大数据常见shell命令

文章目录 一、 Zookeeper常用命令1. zk服务命令2. zk客户端命令 二、HBASE常见运维命令1. 集群启动关闭2. 扩容增加regionserver3. 下线regionserver ing 一、 Zookeeper常用命令 例如:ZOOKEEPER_HOME:/opt/zk/zookeeper 1. zk服务命令 1. 启动ZK服务…

在线部署ubuntu20.04服务器,安装jdk、mysql、redis、nginx、minio

查看服务器版本为20.04 lsb_release -a服务器初始账号密码 sxd / 123456 首先,更改自身密码都输入123456 sudo passwd 创建最高权限root账号,密码为 123456 su root 更新源列表 sudo apt-get update 安装 openssh-server和vim,途中输入y sudo ap…

Effective C++ 学习笔记 条款10 令operator=返回一个reference to *this

关于赋值,有趣的是你可以把它们写成连锁形式: int x, y, z; x y z 15; // 赋值连锁形式同样有趣的是,赋值采用右结合律,所以上述连锁赋值被解析为: x (y (z 15));这里15先被赋值给z,然后其结果&…

Python爬虫:设置随机 User-Agent

Python爬虫:设置随机 User-Agent 在Python中编写爬虫时,为了模拟真实用户的行为并防止被服务器识别为爬虫,通常需要设置随机的User-Agent。你可以使用fake-useragent库来实现这一功能。首先,你需要安装fake-useragent库&#xff…

通过Apple Configurator 2导出iOS ipa包

通过Apple Configurator 2导出iOS ipa包 安装Apple Configurator 2 从Mac AppStore安装Apple Configurator 2 下载ipa 准备工作: 1、 电脑已经安装了Apple Configurator 2 2、 手机已经安装了目标软件 3、 Apple 账号已经下载过目标软件 打开后连接设备&#xf…

如何快速分析OB集群日志,敏捷诊断工具obdiag分析能力实践——《OceanBase诊断系列》之四

1. 前言 obdiag是OceanBase的敏捷诊断工具。1.2版本中,obdiag支持快速收集诊断信息,但仅有收集能力是不够的,还需要有分析能力。因此在obdiag的1.3.0版本中,我们加入了OB集群的日志分析功能。用户可以一键进行集群的OB日志的分析…

Redis核心数据结构之SDS(二)

SDS与C字符串的区别 杜绝缓冲区溢出 除了获取字符串长度的复杂度高之外&#xff0c;C字符串不记录自身长度带来的另一个问题是 容易造成缓冲区溢出(buffer overflow).例如<string.h>/strcat函数可以将src字符串 中的内容拼接到dest字符串的末尾: char *strcat(char *d…

c++中多种类型sort()排序的用法(数组、结构体、pair、vector)

c中多种类型sort排序的用法 一、对数组排序1、默认排序2、自定义排序 二、对结构体进行排序三、对pair进行排序1、默认排序2、自定义排序 四、对vector进行排序1、默认排序2、去重排序3、自定义排序 一、对数组排序 1、默认排序 默认从小到大进行排序 #include <bits/std…

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:拖拽控制)

设置组件是否可以响应拖拽事件。 说明&#xff1a; 从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 ArkUI框架对以下组件实现了默认的拖拽能力&#xff0c;支持对数据的拖出或拖入响应&#xff0c;开发者只需要将这些组件…

Xcode 15 适配 MonkeyDev

升级到Xcode15后,使用Xcode创建MonkeyApp后,运行会报错,本篇文章主要讲述此过程遇到的错误和解决办法。 问题1:找不到libc++.dylib文件 问题描述: Build input files cannot be found: /usr/lib/libstdc++.dylib, /usr/lib/libc++.dylib. Did you forget to declare th…

DHCP自动获取IP地址实验(华为)

思科设备参考&#xff1a;DHCP自动获取IP地址实验&#xff08;思科&#xff09; 一&#xff0c;实验目的 路由器搭载DHCP&#xff0c;让PC通过DHCP自动获取IP地址 二&#xff0c;不划分vlan--全局地址池 实验拓扑 配置命令 Router <Huawei>system-view [Huawei]ip po…