Nginx配置https(Ubuntu、Debian、Linux、麒麟)

news2025/1/10 17:41:54

Ubuntu操作系统,Debian系统底层是Ubuntu,差异不大

ubuntu 安装nginx

1.安装依赖

sudo apt-get update

sudo apt-get install gcc

sudo apt-get install libpcre3 libpcre3-dev

sudo apt-get install zlib1g zlib1g-dev

sudo apt-get install openssl libssl-dev

2.获取压缩包,解压,配置,安装

1、下载

wget https://nginx.org/download/nginx-1.21.6.tar.gz

2、解压

tar xvf nginx-1.21.6.tar.gz

3、切入到解压目录

cd nginx-1.21.6

4、配置https

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

5、编译:

make

6、安装

make install

nginx -V 查看是否有ssl模块

Nginx配置文件增加ssl相关配置

server {
        # xxxx平台服务
        listen       8211 ssl;
        server_name  localhost;

        # 引用正确的ssl证书和私钥(确保路径正确且文件存在)
        ssl_certificate      /home/zhqx/ssl/server.crt;  # 修正为.crt或.pem文件
        ssl_certificate_key  /home/zhqx/ssl/server.key;

        # 协议优化,仅允许安全的TLS版本和加密套件
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4:!RSA:!SHA1:!SHA256:!AES128-GCM;  # 排除一些较弱的加密套件
        ssl_prefer_server_ciphers  on;

        # 启用HSTS(HTTP Strict Transport Security),增强安全性
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";

        # 防止点击劫持和跨站脚本(XSS)攻击
        add_header X-Frame-Options SAMEORIGIN;
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";

        # 内容安全策略(CSP),限制资源加载来源
        add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self' *; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self' data:;";

        # 记录访问日志(可选,根据需求开启或关闭)
        # access_log  /var/log/nginx/sms_access.log  main;
        # error_log   /var/log/nginx/sms_error.log  warn;

        location / {
            root   /home/zhqx/sms/dist;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;  # 对于单页应用(SPA),确保所有路由都返回index.html
        }

        location /api {
            proxy_set_header        Host $http_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;  # 添加以传递协议信息(http/https)
            proxy_pass              http://ip:8092/xxx/api/v1;
            proxy_next_upstream     error timeout invalid_header http_500 http_502 http_503 http_504;  # 在后端服务器出错时尝试下一个服务器(如果配置了多个后端)
            proxy_cache_bypass      $http_upgrade;  # 对于WebSocket连接,不缓存响应
        }

        # 错误页面处理
        error_page 401 403 404 500 502 503 504 /custom_50x.html;
        location = /custom_50x.html {
            root   /home/zhqx/sms/error_pages;  # 指定错误页面的目录
            internal;  # 确保这个页面只能由Nginx内部调用
        }
    }

麒麟操作系统&Linux 安装使用yum

操作相差无几!

遇到的问题:

1:nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)

分析:

        麒麟操作系统,我在/usr/local 路径下编译安装的,但是提示这个错误!

解决:

        将nginx安装到/etc/nginx下,同时修改权限chmod 777 /etc/nginx

2:nginx: [emerg] open() "/etc/nginx/mime.types" failed (2: No such file or directory) in /etc/nginx/nginx.conf:19

分析:

        缺少mime.types文件,从网上下载一个

解决:

         sudo curl -o /etc/nginx/mime.types https://hg.nginx.org/nginx/raw-file/default/conf/mime.types

参考:
 

第一步:下载nginx压缩包
        去nginx官网下载 https://nginx.org/en/download.html

也可以直接使用wget命令下载,指令如下所示(请根据自己的需求进行下载):

建议选择官网发布的稳定版本

用命令下载时,要在自己需要下载的目录进行操作 我这里在 /home/docs/nginx 下

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz


第二步:配置nginx安装所需的环境


1.安装gcc


安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。安装指令如下:

yum install gcc-c++


2. 安装PCRE pcre-devel


Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。安装指令如下:

yum install -y pcre pcre-devel 
 

3.安装zlib


zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。安装指令如下:

yum install -y zlib zlib-devel
 


4.安装Open SSL


nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https,需要安装 OpenSSL 库。安装指令如下:

yum install -y openssl openssl-devel
 


第三步:解压nginx压缩包并安装
 

tar -zxvf nginx-1.10.1.tar.gz
解压之后,当前目录会出现一个被解压过的目录,如上图所示。

使用./configure命令来配置编译选项,如下图所示:

cd /home/docs/nginx/nginx-1.10.1
 
./configure


注意:如果需要支持https,不要直接执行 ./configure ----------------不需要忽略此命令

使用如下命令代替

./configure --with-http_ssl_module
 
--with-http_ssl_module 的意思是添加https支持
 


第四步:编译安装nginx


这里和redis的编译安装比较类似,首先在当前目录/home/docs/nginx/nginx-1.10.1进行编译。输入make即可

make
 
然后回车,如果编译出错,请检查是否前面的4个安装都没有问题。
编译成功之后,就可以安装了,输入以下指令:

make install
 
ok,安装成功。

这时会在 /usr/local/ 目录下生成一个 nginx 目录

第五步:启动nginx


以下对nginx的操作都需要进入到 /usr/local/nginx/sbin目录下执行

进入/usr/local/nginx/sbin目录,输入./nginx即可启动nginx

cd /usr/local/nginx/sbin
 
./nginx
 
关闭nginx

./nginx -s quit  或者 ./nginx -s stop
 
重启nginx

./nginx -s reload
 
查看nginx进程

ps aux|grep nginx
 
设置nginx开机启动,只需在rc.local增加启动代码即可。(这种方式好像不推荐使用)

vim /etc/rc.local
 
还需要下列命令 否则开机自启不生效

chmod +x /etc/rc.d/rc.local
 

开机自启其他配置方式

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

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

相关文章

【组件封装】uniapp vue3 封装一个完整的Tabs(标签页)组件教程,功能由简到杂实现讲解。

文章目录 前言一、简单版Tabs代码实现: 二、下划线带动画的TabsAPI回顾:代码实现: 三、内容区域滑动切换切换动画代码实现:(2)禁用手势滑动切换(3)内容区域换为插槽 四、标签栏可滚动…

五、docker的网络模式

五、docker的网络模式 5.1 Docker的四种网络模式 当你安装docker时,它会自动创建三个网络,可使用如下命令查看: [rootlocalhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 7390284b02d6 bridge bridge lo…

生产慎用之调试日志对空间矢量数据批量插入的性能影响-以MybatisPlus为例

目录 前言 一、一些缘由 1、性能分析 二、插入方式调整 1、批量插入的实现 2、MP的批量插入实现 3、日志的配置 三、默认处理方式 1、基础程序代码 2、执行情况 四、提升调试日志等级 1、在logback中进行设置 2、提升后的效果 五、总结 前言 在现代软件开发中&…

【人工智能】深度解剖利用人工智能MSA模型

目录 情感分析的应用一、概述二、研究背景三、主要贡献四、模型结构和代码五、数据集介绍六、性能展示七、复现过程 情感分析的应用 近年来社交媒体的空前发展以及配备高质量摄像头的智能手机的出现,我们见证了多模态数据的爆炸性增长,如电影、短视频等…

MongoDB性能监控工具

mongostat mongostat是MongoDB自带的监控工具,其可以提供数据库节点或者整个集群当前的状态视图。该功能的设计非常类似于Linux系统中的vmstat命令,可以呈现出实时的状态变化。不同的是,mongostat所监视的对象是数据库进程。mongostat常用于…

Scratch教学作品 | 中国诗词大会——闯关擂台,品味诗词之美! ✨

🎓 Scratch教学作品 | 中国诗词大会——闯关擂台,品味诗词之美! 📜✨ 今天给大家推荐一款结合文化与挑战的Scratch作品——《中国诗词大会》!由zhouyq制作,这款游戏让你置身诗词的世界,通过闯关…

安全关系型数据库查询新选择:Rust 语言的 rust-query 库深度解析

在当今这个数据驱动的时代,数据库作为信息存储和检索的核心组件,其重要性不言而喻。然而,对于开发者而言,如何在保证数据安全的前提下,高效地进行数据库操作却是一项挑战。传统的 SQL 查询虽然强大,但存在诸…

微信小程序里的小游戏研发需要什么技术栈

研发小程序里的小游戏通常需要以下技术栈: 前端技术 HTML5 / CSS3:用于构建游戏的界面布局和样式。JavaScript:作为核心编程语言,实现游戏的逻辑和交互。小程序开发框架:如微信小程序的开发框架,了解其 API…

Install PyTorch (安装 PyTorch)

Install PyTorch {安装 PyTorch} 1. Install PyTorch1.1. Previous PyTorch Versions1.2. Latest PyTorch1.3. 查看 PyTorch 的版本 References 1. Install PyTorch https://pytorch.org/ Select your preferences and run the install command. Stable represents the most …

第二篇:k8s工作流程

我们来看通过deployment部署pod的常规流程: kubectl向apiserver发送部署请求(例如使用 kubectl create -f deployment.yml)apiserver将 Deployment 持久化到etcd;etcd与apiserver进行一次http通信。controller manager通过watch a…

智创 AI 新视界 -- 优化 AI 模型训练效率的策略与技巧(16 - 1)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

第五节、电机多段运动【51单片机-TB6600驱动器-步进电机教程】

摘要:本节介绍用控制步进电机三个主要参数角度、速度、方向,实现简单的步进电机多段控制 一、目标功能 输入多个目标角度,设定好步进电机速度,实现步进电机多段转动 二、计算过程 2.1 速度计算 根据第三节内容,定时器…

C++(九)

前言: 本文主要讲述运算符的优先顺序。 一,运算符的优先级。 请看以下表达式: a32*5 运算结果为:13. 可以看到,在此代码中,先运行了2*5的结果,在此基础上在进行3操作,因此结果…

志愿服务管理系统设计与实现

私信我获取源码和万字论文,制作不易,感谢点赞支持。 摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此&#xff0…

dbeaver安装

数据库常用的管理工具就是navicat,页面简洁大方,且易上手,唯一不好的就是要收费,个人使用的话可以用dbeaver,一款开源的数据库管理工具。 下载地址:https://dbeaver.io/download/ 直接下载这个windows(inst…

Odoo :一款免费且开源的食品生鲜领域ERP管理系统

文 / 贝思纳斯 Odoo金牌合作伙伴 引言 提供业财人资税的精益化管理,实现研产供销的融通、食品安全的追踪与溯源,达成渠道的扁平化以及直面消费者的 D2C 等数字化解决方案,以此提升运营效率与核心竞争力,支撑高质量的变速扩张。…

【AIGC半月报】AIGC大模型启元:2024.12(上)

【AIGC半月报】AIGC大模型启元:2024.12(上) (1)OpenAI-12日发布会(持续更新中........)Day01-12.06:o1满血版上线(已发布)Day02-12.07:强化微调&a…

Mysql学习-Mysql查询(1)

1.基本查询&#xff08;SELECT&#xff09; SELECT语句基本格式&#xff1a; SELECT {*|<字段列表>} [ FROM<表1>&#xff0c;<表2>.. [WHERE <表达式> [GROUP BY<group by definition>] [HAVING <expression>[{<operator><exp…

OpenCV-平滑图像

二维卷积(图像滤波) 与一维信号一样&#xff0c;图像也可以通过各种低通滤波器&#xff08;LPF&#xff09;、高通滤波器&#xff08;HPF&#xff09;等进行过滤。LPF 有助于消除噪音、模糊图像等。HPF 滤波器有助于在图像中找到边缘。 opencv 提供了函数 **cv.filter2D()**&…

WPS解决Word文件引入excel对象文件无法打开提示“不能启动此对象...”的问题

一、问题现象 接收到了一份 Word文件&#xff0c;里面引入了一个Excel对象文件&#xff0c;双击时候&#xff0c;wps出现卡顿&#xff0c;过一会之后弹出错误提示&#xff1a;不能启动此对象... 二、解决方法 1.点击WPS左上角图标&#xff0c;并打开右上角设置&#xff0c;萱蕚…