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.xdnf.cn/news/1473191.html

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

相关文章

分享:Motionity-开源的Web端动画编辑器

Motionity是一个免费且开源的Web端动画编辑器,它结合了After Effects和Canva的优点,为用户提供了强大的动画编辑功能。支持视频剪切、图像搜索过滤、文本动画库、图层蒙版等功能。 一、项目背景与特点 开源项目:Motionity是一个开源项目&…

docker push 推送镜像到阿里云仓库

1.登陆阿里云 镜像服务,跟着指引操作就行 创建个人实例,创建命名空间、镜像仓库,绑定代码源头 2.将镜像推送到Registry $ docker login --username*** registry.cn-beijing.aliyuncs.com $ docker tag [ImageId] registry.cn-beijing.aliy…

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

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

「媒体邀约」全国巡演,多地推介会,如何做好媒体宣传

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 我们在做多地活动的时候,比如演唱会&#xff…

Qt 基础组件速学 interView框架

学习目标: interView理解和自定义模型操作 前置环境 运行环境:qt creator 4.12 学习内容: interView是一个具有插件架构的Qt应用程序框架,它旨在提供一个易于扩展和定制的应用程序开发解决方案。 在interView框架中,这三者协作的方式如下: 视图类从…

【Python系列】数字的bool值

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Java | Leetcode Java题解之第218题天际线问题

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> getSkyline(int[][] buildings) {PriorityQueue<int[]> pq new PriorityQueue<int[]>((a, b) -> b[1] - a[1]);List<Integer> boundaries new ArrayList&l…

Spring Boot Vue 毕设系统讲解1

项目结构 包说明 db&#xff1a;文件夹是存放数据脚本文件的 annotation&#xff1a; 系统自定义注解 config&#xff1a;系统定义的配置类 controller&#xff1a; 系统接口控制器类 dao&#xff1a; 系统dao类编写数据库查询方法和数据库交互 entity&#xff1a;数据库…

Fastapi 项目第二天首次访问时数据库连接报错问题Can‘t connect to MySQL server

问题描述 Fastapi 项目使用 sqlalchemy 连接的mysql 数据库&#xff0c;每次第二天首次访问数据库相关操作&#xff0c;都会报错&#xff1a;sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, “Can’t connect to MySQL server on ‘x.x.x.x’ ([Err…

C++deque容器

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

ceph-volume inventory KeyError: ‘TYPE‘ 处理

是否有人跟我一样碰到这样的情况 执行ceph-volume inventory报错 还好有错误日志可以看 [2024-07-05 11:40:40,540][ceph_volume.process][INFO ] Running command: /usr/sbin/blkid -c /dev/null -p /dev/ceph-c5fd6684-3851-49ab-bd44-f6743a79e24f/osd-block-42d41cd1-82…

爬虫进阶:Selenium与Ajax的无缝集成

爬虫与Ajax的挑战 Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分内容。这为用户带来了更好的体验&#xff0c;但同时也使得爬虫在抓取数据时面临以下挑战&#xff1a; 动态内容加载&#xff…

伪元素content追加文字使用小技巧

E::before和E::after本身的作用是追加字&#xff0c;直接在文字后面追加链接 <!DOCTYPE html> <html lang"zh-cn"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…

使用myCobot280和OAK-D OpenCV DepthAI摄像头制作一个实时脸部跟踪的手机支架!

引言 由于YouTube和Netflix的出现&#xff0c;我们开始躺着看手机。然而&#xff0c;长时间用手拿着手机会让人感到疲劳。这次我们制作了一个可以在你眼前保持适当距离并调整位置的自动移动手机支架&#xff0c;让你无需用手拿着手机。请务必试试&#xff01; 准备工作 这次我们…

bpftrace几种使用实例

1. 排查内存泄漏 memory.c memory.bt 可以执行相关memory&#xff0c;用bpftrace追踪malloc和free的过程 修改memory.bt&#xff0c;加上malloc和free统计&#xff0c;重新执行 2. 验证tcp连接关闭是应用关闭还是内核关闭 nginx服务启动后&#xff0c;会处于监听状态&…

1999-2022年企业持续绿色创新水平数据

企业持续绿色创新水平数据为研究者提供了评估企业在绿色技术领域创新持续性和能力的重要视角。以下是对企业持续绿色创新水平数据的介绍&#xff1a; 数据简介 定义&#xff1a;企业持续绿色创新水平反映了企业在一定时期内绿色专利申请的持续性和创新能力。计算方法&#xf…

Redis 多数据源 Spring Boot 实现

1.前言 本文为大家提供一个 redis 配置多数据源的实现方案&#xff0c;在实际项目中遇到&#xff0c;分享给大家。后续如果有时间会写一个升级版本&#xff0c;升级方向在第5点。 2.git 示例地址 git 仓库地址&#xff1a;https://github.com/huajiexiewenfeng/redis-multi-…

Cesium 二三维热力图

Cesium 二三维热力图 原理&#xff1a;主要依靠heatmap.js包来实现 效果图&#xff1a;

昇思25天学习打卡营第18天|Pix2Pix实现图像转换

Pix2Pix概述 Pix2Pix是基于条件生成对抗网络实现的一种深度学习图像转换模型。Pix2Pix是将cGAN应用于有监督的图像到图像翻译&#xff0c;包括生成器和判别器。 基础原理 cGAN的生成器是将输入图片作为指导信息&#xff0c;由输入图像不断尝试生成用于迷惑判别器的“假”图像…