Nginx(http配置、https配置)访问Spring Boot 项目

前文

记录一下在linux服务器下配置nginx中nginx.conf文件代理访问springboot项目

1. spring boot.yml配置

其他mysql,redis,mybatis等之类的配置就不一一列出了

# 自定义配置 为了等下验证读取的配置文件环境
appName: product

server:
  port: 8083  # 应用服务 WEB 访问端口
  servlet:
    context-path: /api
    session:
      timeout: PT60M #session过期时间 60M 一个小时

2. nginx配置

查看nginx安装目录

whereis nginx

在这里插入图片描述

修改nginx.conf即可,一般配置文件都在**/usr/local/nginx/conf**目录下

2.1 https配置

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    #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  logs/access.log  main;
  
    sendfile        on;
    #tcp_nopush     on;
  
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    #将服务所有的 http 请求转换为 https 请求
    server {
    	listen    80;
      # listen       8081; 
      # listen       443 ssl;
      listen        442 ssl;
      # 因为服务器没有完成备案导致我的80,443端口不能开放,所以我这里演示使用8081,442
      # 我的nginx配置文件上方的80端口是注释掉的,
      #你的域名,请不要带有http://或者https://
    	server_name  xxx.com;
      #charset koi8-r;

      #access_log  logs/host.access.log  main;
    
      location / {
            #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。  
            root html;
            index index.html index.htm;
        }
 
      #此处呼应 spring boot 应用内的 servlet.context-path 配置
      #说明: 如果你访问 www.xxxx.com/api 将会请求转发到服务器内的 127.0.0.1:8083 服务
      location /api {
      	    proxy_pass http://127.0.0.1:8083;
      	    proxy_set_header           Host $host;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header           X-Forwarded-For       $proxy_add_x_forwarded_for;
            client_max_body_size  100m;
      }
    
      #说明: 这里模拟静态资源读取,示例请求url: http://www.xxxx.com/app_images/xxx.png
      #访问 www.xxxx.cn/app_images/xxx.png 会转发访问服务器内的绝对路径/usr/local/app_images/xxx.png
      location /app_images {
    	    root /usr/local;
      }       
    
      # error_page 错误页面  404              /404.html;
      # redirect server error pages to the static page /50x.html
      #
      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
            root   html;
      }
    
    }

    
}

2.2 http配置

上传证书到conf目录下,创建一个cert文件夹方便管理
在这里插入图片描述
免费证书申请可以使用阿里云,腾讯云,https://freessl.cn/等

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    #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  logs/access.log  main;
  
    sendfile        on;
    #tcp_nopush     on;
  
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    #将服务所有的 http 请求转换为 https 请求
    server {
    	listen    80;
      # 因为服务器没有完成备案导致我的80端口不能开放,所以我这里演示使用下面的8081
      # 我的nginx配置文件上方的80端口是注释掉的,
      # listen       8081; 
      #你的域名,请不要带有http://或者https://
    	server_name  xxxx.com;
      #charset koi8-r;

      #access_log  logs/host.access.log  main;
    
      location / {
            #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。  
            root html;
            index index.html index.htm;
        }
 
      #此处呼应 spring boot 应用内的 servlet.context-path 配置
      #说明: 如果你访问 www.xxxx.com/api 将会请求转发到服务器内的 127.0.0.1:8083 服务
      location /api {
      	    proxy_pass http://127.0.0.1:8083;
      	    proxy_set_header           Host $host;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header           X-Forwarded-For       $proxy_add_x_forwarded_for;
            client_max_body_size  100m;
      }
    
      #说明: 这里模拟静态资源读取,示例请求url: http://www.xxxx.com/app_images/xxx.png
      #访问 www.xxxx.com/app_images/xxx.png 会转发访问服务器内的绝对路径/usr/local/app_images/xxx.png
      location /app_images {
    	    root /usr/local;
      }       
    
      # error_page 错误页面  404              /404.html;
      # redirect server error pages to the static page /50x.html
      #
      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
            root   html;
      }
    }
}

2.3 访问测试

配置文件完成后切记重新启动nginx,我这里使用http配置代理端口为8081,所以浏览器输入域名:8081/api(spring boot中配置的context-path)/请求(Controller路径)

http方式测试

  • 访问nginx

在这里插入图片描述

  • 创建静态资源文件夹,上传一张图片进行测试
    在这里插入图片描述
    在这里插入图片描述
  • controller请求路径测试

在这里插入图片描述
可以看到我们使用http方式时,地址栏度提示的不安全链接

https:测试

把配置文件切换成https方式,重启nginx,目前备案还没完成,所以我这里需要使用域名:442进行访问
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c04b95ef29ea43c7b67932d5cf3910a5.png

在这里插入图片描述
使用https访问消除了不安全告警

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我做了个C++算法学习网站,从语法到算法再到数据结构,全方位为算法竞赛小伙伴护航

哈喽,各位小伙伴大家好,我是大李。 最近半个月,我做了个《C算法宝典》并更新了40多篇教程,目前还在更新中,内容从语法到算法和数据结构,全方位为算法竞赛小伙伴护航。 温馨提示:如果你或你的朋…

PDF一键转PPT文件!这2个AI工具值得推荐,办公必备!

PDF转换为PPT文件,是职场上非常常见的需求,过去想要把PDF文件转换为PPT,得借助各种文件转换工具,但在如今AI技术主导的大背景下,我们在选用工具时有了更多的选择,最明显的就是基于AI技术打造的AI格式转换工…

Android 如何通过代码实时设置EditTextView光标

背景:换肤框架下,QA进行深色浅色切换说输入框光标颜色没有改变,转UI结果UI说需要修改!!!!! 本来有方法可以设置,但是 设置后未生效。重新进入该页面才生效!&a…

C++——list类用法指南

一、list的介绍 1、list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代 2、list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素 …

在昇腾服务器上使用llama-factory对baichuan2-13b模型进行lora微调

什么是lora微调 LoRA 提出在预训练模型的参数矩阵上添加低秩分解矩阵来近似每层的参数更新,从而减少适配下游任务所需要训练的参数。 环境准备 这次使用到的微调框架是llama-factory。这个框架集成了对多种模型进行各种训练的代码,少量修改就可使用。 …

matplotlib mplot3d模块在Ubuntu 10.04中的问题与解决方法

在 Ubuntu 10.04 系统上使用 matplotlib 的 mplot3d 模块可能会遇到一些问题,主要涉及到库的安装和版本兼容性。Ubuntu 10.04 是一个比较老旧的版本,官方已经不再提供支持,这可能会导致一些库的版本较低,不支持最新的功能或修复。…

Flask 数据创建时出错

当我们在使用 Flask 创建数据时遇到错误,可能有多种原因,包括代码错误、数据库配置问题或依赖项错误。具体情况我会总结成一篇文章记录下,主要是归类总结一些常见的解决方法和调试步骤,帮助大家解决问题: 1、问题背景 …

自己分析的逆向案例八——中国新烟商盟登录密码加密

网址:会员登录 - 新商盟 登陆界面分析,找到登录接口,跟栈分析。 没有异步,也没有webpack,很简单的跟栈 打上断点,逐步网上找,找到$ajax老朋友 上面就有对密码加密的部分,是一个RSA加密。 b 被…

Git Flow 工作流学习要点

Git Flow 工作流学习要点 Git Flow — 流程图Git Flow — 操作指令优点:缺点:Git Flow 分支类型Git Flow 工作流程简述关于 feature 分支关于 Release 分支关于 hotfix 分支 总结 Git Flow — 流程图 图片来源:https://nvie.com/posts/a-succ…

三维家:SaaS的IT规模化降本之道|OceanBase 《DB大咖说》(十一)

OceanBase《DB大咖说》第 11 期,我们邀请到了三维家的技术总监庄建超,来分享他对数据库技术的理解,以及典型 SaaS 场景在数据库如何实现规模化降本的经验与体会。 庄建超,身为三维家的技术总监,独挑大梁,负…

分文件编译(简单学生系统)

定义学生基本信息 ①输出所有学生信息 ②删除某个学生后,输出所有学生信息 ③修改某个学生信息后,输出所有学生信息 ④查找某个学生的信息 main.c #include"k11*.h" int main(int argc, const char *argv[]) {struct student p[4]{{"…

注意!年龄越大,社交圈子越窄?其实这是老人的理性选择!数学家告诉你:何时该跳槽,何时该坚守!你必须知道的三个智慧:让你的人生更加精彩!

我们到底应该在什么情况下探索新事物,什么情况下专注于已有的东西呢?本质上来说,这个问题就是在询问,你究竟应该耗费精力去探索新的信息,还是专注从既有的信息中获取收获? 有人采访了临终的老人&#xff0c…

51单片机外部中断(按键识别)

欢迎入群共同学习交流 时间记录:2024/7/2 一、电路原理图 51单片机包含INT0、INT1两个外部中断接口 二、知识点介绍 1.中断寄存器位介绍 (1)TCON定时控制寄存器,位0(IT0)中断INT0请求信号选择位&#x…

win11电源设置

把钩子去掉以后 win11的电脑关机才有用 否则,关机了,电脑也实际上一直在运行

边缘计算网关在现代工业企业中的作用-天拓四方

随着工业4.0时代的到来,数字化转型已经成为工业企业发展的必然趋势。在这一过程中,边缘计算网关以其独特的优势,正逐渐成为工业企业实现智能化、高效化运营的关键技术。 边缘计算网关是一种部署在网络边缘的设备,它集成了计算、存…

nginx 只有图片等静态资源时 监听80端口 会404 NOT FOUND

解决方法 删除 /var/nginx/sites-enabled 原因:当nginx没有设置首页路径index时,sites-enabled目录中配置的优先级会高于nginx.conf 导致404 NOT FOUND sites-enabled文件中的default会将80端口索引至默认值:/var/www/html目录下&#xff…

数据库。

数据库安全性 论述题5’ 编程题10’ sql语言实现权限控制 一、概述 1、不安全因素 (1)⾮授权对数据库的恶意存取和破坏 (2)数据库中重要的数据泄露 (3)安全环境的脆弱性 2、⾃主存取控制⽅法 gr…

【Qt知识】Geometry属性

一、走进Geometry的世界 Geometry属性是Qt框架中用于处理和操作几何形状的一系列类的集合。它包括了QPoint、QPointF、QSize、QSizeF、QRect和QRectF等。这些类分别代表点、大小、矩形等基本几何概念,它们的存在让图形界面的创建变得既简单又直观。 位置和尺寸。 其…

cesium 添加 Echarts图层(人口迁徒图)

cesium 添加 Echarts 人口迁徒图(下面附有源码) 1、实现思路 1、在scene上面新增一个canvas画布 2、通坐标转换,将经纬度坐标转为屏幕坐标来实现 3、将ecarts 中每个series数组中元素都加 coordinateSystem: ‘cesiumEcharts’ 2、示例代码 <!DOCTYPE html> <ht…

武汉星起航:成功挂牌上股交,引领跨境电商行业进入全新发展阶段

2023年10月30日&#xff0c;武汉星起航电子商务有限公司在上海股权托管交易中心成功挂牌展示&#xff0c;这一里程碑式的事件标志着武汉星起航正式登陆资本市场&#xff0c;开启了公司发展的新篇章。作为亚马逊跨境电商领域的领军企业之一&#xff0c;武汉星起航此次挂牌不仅是…