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

前文

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

1. spring boot.yml配置

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

# 自定义配置 为了等下验证读取的配置文件环境
appName: productserver:port: 8083  # 应用服务 WEB 访问端口servlet:context-path: /apisession: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.pnglocation /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.pnglocation /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访问消除了不安全告警

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

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

相关文章

C语言编译和编译预处理

编译预处理 • 编译是指把高级语言编写的源程序翻译成计算机可识别的二进制程序(目标程序)的过程,它由编译程序完成。 • 编译预处理是指在编译之前所作的处理工作,它由编译预处理程序完成 在对一个源程序进行编译时,…

全国青少年软件编程等级考试-四级-奇偶之和(真题)

题目:奇偶之和 1.准备工作 (1)保留舞台中的小猫角色; 2.功能实现 (1)分别计算1~100中,奇数之和,偶数之和; (2)说出奇数之和,偶数之和。 讲解: 1、如何判断奇偶数 奇数是指除以2有…

C++deque容器

文章目录 deque容器概念deque操作deque对象的带参数构造deque头部和末尾的添加移除操作deque的数据存取deque与迭代器deque赋值deque插入deque删除 deque容器概念 deque是双端数组,而vector是单端的。 deque头部和尾部添加或移除元素都非常快速, 但是在中部安插元…

LeetCode题练习与总结:排序链表--148

一、题目描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3&am…

封锁-封锁模式(共享锁、排他锁)、封锁协议(两阶段封锁协议)

一、引言 1、封锁技术是目前大多数商用DBMS采用的并发控制技术,封锁技术通过在数据库对象上维护锁来实现并发事务非串行调度的冲突可串行化 2、基于锁的并发控制的基本思想是: 当一个事务对需要访问的数据库对象,例如关系、元组等进行操作…

LLM - 词向量 Word2vec

1. 词向量是一个词的低维表示,词向量可以反应语言的一些规律,词意相近的词向量之间近乎于平行。 2. 词向量的实现: (1)首先使用滑动窗口来构造数据,一个滑动窗口是指在一段文本中连续出现的几个单词&#x…

整洁架构SOLID-单一职责原则(SRP)

文章目录 定义案例分析重复的假象代码合并解决方案 小结 定义 SRP是SOLID五大设计原则中最容易被误解的一个。也许是名字的原因,很多程序员根据SRP这个名字想当然地认为这个原则就是指:每个模块都应该只做一件事。 在历史上,我们曾经这样描…

# Sharding-JDBC从入门到精通(6)-- Sharding-JDBC 水平分库 和 垂直分库。

Sharding-JDBC从入门到精通&#xff08;6&#xff09;-- Sharding-JDBC 水平分库 和 垂直分库。 一、Sharding-JDBC 水平分库-分片策略配置 1、分库策略定义方式如下 # 分库策略&#xff0c;如何将一个逻辑表映射到多个数据源 spring.shardingsphere.sharding.tables.<逻…

嵌入式linux面试1

1. linux 1.1. Window系统和Linux系统的区别 linux区分大小写windows在dos&#xff08;磁盘操作系统&#xff09;界面命令下不区分大小写&#xff1b; 1.2. 文件格式区分 windows用扩展名区分文件&#xff1b;如.exe代表执行文件&#xff0c;.txt代表文本文件&#xff0c;.…

手动将dingtalk-sdk-java jar包打入maven本地仓库

有时候,中央镜像库不一定有自己需要的jar包,这时候我们就需要用到该方法,将jar打入maven本地仓库,然后项目中,正常使用maven的引入规则。 mvn install:install-file -Dmaven.repo.local=D:\software\maven\apache-maven-3.6.3-bin\apache-maven-3.6.3\repo -DgroupId=ding…

Caffeinated for Mac v2.0.6 Mac防休眠应用 兼容 M1/M2/M3

Caffeinated 可以防止您的 Mac 进入休眠状态、屏幕变暗或者启动屏幕保护。 应用介绍 您的屏幕是否总是在您不希望的时候变暗&#xff1f;那么Caffeinated就是您解决这个大麻烦的最好工具啦。Caffeinated是在Caffeine这个非常便捷、有用的工具的基础上开发而来的。Caffeinated…

215. 数组中的第K个最大元素(中等)

215. 数组中的第K个最大元素 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java 1. 题目描述 题目中转&#xff1a;215. 数组中的第K个最大元素 2.详细题解 快速排序算法在每一轮排序中&#xff0c;随机选择一个数字 x x x&#xff0c;根据与 x x x的大小关系将要排序的数…

PMP–知识卡片--PDCA循环

记忆 PDCA&#xff1a;计划执行检查调整&#xff0c;计划观察动作&#xff1b;plan do check action 定义 PDCA循环的含义是将质量管理分为四个过程&#xff0c;即计划&#xff08;Plan&#xff09;、执行&#xff08;Do&#xff09;、检查&#xff08;Check&#xff09;、处…

使用 OpenCV 和 Python 进行车道检测和物体检测(YOLO)

本项目旨在开发一个集车道检测与物体检测功能于一体的智能视觉分析系统&#xff0c;利用先进的计算机视觉技术和深度学习模型&#xff0c;实现实时的道路场景理解和目标识别。系统主要依托OpenCV这一强大的计算机视觉库&#xff0c;以及Python作为编程语言&#xff0c;融合了车…

MySQL索引教程(01):创建索引

文章目录 MySQL 创建索引索引介绍MySQL CREATE INDEX 语法MySQL 索引类型MySQL CREATE INDEX 实例结论 MySQL 创建索引 对于一个具有大量数据行的表&#xff0c;如果你根据某个查询条件检索数据时很慢&#xff0c;可能是因为你没有在检索条件相关的列上创建索引。 索引类似于…

FPC生产工艺全流程详解

FPC生产制作繁琐而且难度较大&#xff0c;与普通PCB比较&#xff0c;FPC单位面积电路的造价高很多&#xff0c;但是&#xff0c;由于FPC优异的柔性、轻薄和可靠性等特性&#xff0c;给众多领域的设备和产品提供了更广泛的实现空间和新的设计方案&#xff0c;比如沉金板在电子、…

Java需要英语基础吗?

Java编程语言本身并不要求必须有很强的英语基础&#xff0c;因为Java的语法和逻辑是独立于任何特定语言的。我收集归类了一份嵌入式学习包&#xff0c;对于新手而言简直不要太棒&#xff0c;里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言类教学&am…

Java项目:基于SSM框架实现的共享客栈管理系统分前后台【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的共享客栈管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能…

使用maven搭建一个SpingBoot项目

1.首先创建一个maven项目 注意选择合适的jdk版本 2.添加依赖 2.在pom.xml中至少添加依赖 spring-boot-starter-web 依赖&#xff0c;目的是引入Tomcat&#xff0c;以及SpringMVC等&#xff0c;使项目具有web功能。 <!-- 引入 包含tomcat&#xff0c;SpringMVC&#xff0c…

【C++题解】1561. 买木头

问题&#xff1a;1561. 买木头 类型&#xff1a;省赛、数组问题、二分答案、贪心、2015江苏省青少年信息学奥林匹克竞赛复赛 题目描述&#xff1a; 有 n 个木材供应商&#xff0c;每个供货商有长度相同一定数量的木头。长木头可以锯短&#xff0c;但短木头不能接长。有一个客…