0


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   500502503504  /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   500502503504  /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 nginx https

本文转载自: https://blog.csdn.net/m0_74444744/article/details/140122520
版权归原作者 糊涂涂糊涂涂 所有, 如有侵权,请联系我们删除。

“Nginx(http配置、https配置)访问Spring Boot 项目”的评论:

还没有评论