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.pswp.cn/web/40570.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/40570.shtml
英文地址,請注明出處:http://en.pswp.cn/web/40570.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SQL窗口函數詳解

詳細說明在sql中窗口函數是什么,為什么需要窗口函數,有普通的聚合函數了那窗口函數的意義在哪,窗口函數的執行邏輯是什么,over中的字句是如何使用和理解的(是不是句句戳到你的痛點,哼哼~&#x…

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頭部和尾部添加或移除元素都非常快速, 但是在中部安插元…

在x86/amd64的機器上使用Docker運行arm64v8/ubuntu并安裝ROS1

一、準備工作 主要是因為國內網絡的問題,可能導致鏡像拉取失敗,解決辦法參考:鏡像加速 二、安裝運行過程 2.1拉取鏡像: sudo docker pull arm64v8/ubuntu:20.04這個是ubuntu的拉取指令,其他的也是類似。 2.2 運行…

【DevOps】運維過程中經常遇到的Http錯誤碼問題分析(一)

一、解決HTTP 408錯誤:上傳3M文件時請求超時的問題 在開發Web應用程序時,遇到HTTP 408狀態碼(請求超時)是常見的問題。特別是在上傳大文件時,這種情況更容易發生。本文將探討在上傳一個3M文件時,Web服務器…

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、基于鎖的并發控制的基本思想是: 當一個事務對需要訪問的數據庫對象,例如關系、元組等進行操作…

【嵌入式開發 Linux 常用命令系列 1.6 -- grep 過濾指定的目錄】

請閱讀【嵌入式開發學習必備專欄 】 文章目錄 grep 過濾指定目錄 grep 過濾指定目錄 在Linux中使用grep搜索字符串并希望排除特定目錄時,可以使用--exclude-dir參數。這個參數允許你指定一個或多個目錄名稱來排除它們的內容不被grep搜索。這對于忽略一些常見的臨時…

LLM - 詞向量 Word2vec

1. 詞向量是一個詞的低維表示,詞向量可以反應語言的一些規律,詞意相近的詞向量之間近乎于平行。 2. 詞向量的實現: (1)首先使用滑動窗口來構造數據,一個滑動窗口是指在一段文本中連續出現的幾個單詞&#x…

llamaindex實戰-使用本地大模型和數據庫對話

概述 本文使用NLSQLTableQueryEngine 查詢引擎來構建SQL的自然語言處理查詢。 請注意,我們需要指定要與該查詢引擎一起使用的表。如果我們不這樣做,查詢引擎將提取所有架構上下文,這可能會溢出 LLM 的上下文窗口。 在以下情況都可以使用NL…

如何用Java寫一個整理Java方法調用關系網絡的程序

大家好,我是猿碼叔叔,一位 Java 語言工作者,也是一位算法學習剛入門的小學生。很久沒有為大家帶來干貨了。 最近遇到了一個問題,大致是這樣的:如果給你一個 java 方法,如何找到有哪些菜單在使用。我的第一想…

線程中如何有效避免死鎖問題

1. 理解死鎖形成的原因 互斥條件:一個資源每次只能被一個線程使用。 請求與保持條件:線程因請求資源而阻塞時,對已獲得的資源保持不放。 不剝奪條件:線程已獲得的資源,在末使用完之前,不能強行剝奪。 循環…

c++ primer plus 第15章友,異常和其他:15.1.3 其他友元關系

c primer plus 第15章友,異常和其他:15.1.3 其他友元關系 提示:這里可以添加系列文章的所有文章的目錄,目錄需要自己手動添加 15.1.3 其他友元關系 提示:寫完文章后,目錄可以自動生成,如何生成可…

整潔架構SOLID-單一職責原則(SRP)

文章目錄 定義案例分析重復的假象代碼合并解決方案 小結 定義 SRP是SOLID五大設計原則中最容易被誤解的一個。也許是名字的原因,很多程序員根據SRP這個名字想當然地認為這個原則就是指:每個模塊都應該只做一件事。 在歷史上,我們曾經這樣描…

科研繪圖系列:R語言雙側條形圖(bar Plot)

介紹 雙側條形圖上的每個條形代表一個特定的細菌屬,條形的高度表示該屬的LDA得分的對數值,顏色用來區分不同的分類群或組別,它具有以下優點: 可視化差異:條形圖可以直觀地展示不同細菌屬在得分上的差異。強調重要性:較高的條形表示某些特征在區分不同組別中具有重要作用…

# Sharding-JDBC從入門到精通(6)-- Sharding-JDBC 水平分庫 和 垂直分庫。

Sharding-JDBC從入門到精通&#xff08;6&#xff09;-- Sharding-JDBC 水平分庫 和 垂直分庫。 一、Sharding-JDBC 水平分庫-分片策略配置 1、分庫策略定義方式如下 # 分庫策略&#xff0c;如何將一個邏輯表映射到多個數據源 spring.shardingsphere.sharding.tables.<邏…

第33集《大乘起信論》

《大乘起信論》和尚尼慈悲&#xff0c;諸位法師、諸位居士&#xff0c;阿彌陀佛&#xff01;&#xff08;阿彌陀佛&#xff01;&#xff09;請大家打開《講義》第七十四頁&#xff0c;子二、釋觀。 本論的特色&#xff0c;一言以蔽之就是文簡意賅、辭約理富&#xff0c;就是說…

VUE2拖拽組件:vue-draggable-resizable-gorkys

vue-draggable-resizable-gorkys組件基于vue-draggable-resizable進行二次開發, 用于可調整大小和可拖動元素的組件并支持沖突檢測、元素吸附、元素對齊、輔助線 安裝: npm install --save vue-draggable-resizable-gorkys 全局引用: import Vue from vue import vdr fro…

嵌入式linux面試1

1. linux 1.1. Window系統和Linux系統的區別 linux區分大小寫windows在dos&#xff08;磁盤操作系統&#xff09;界面命令下不區分大小寫&#xff1b; 1.2. 文件格式區分 windows用擴展名區分文件&#xff1b;如.exe代表執行文件&#xff0c;.txt代表文本文件&#xff0c;.…