nginx代理springboot前后端分离服务

编程入门 行业动态 更新时间:2024-10-17 05:36:19

nginx代理springboot前<a href=https://www.elefans.com/category/jswz/34/1771414.html style=后端分离服务"/>

nginx代理springboot前后端分离服务

nginx代理springboot前后端分离服务–接入cas客户端时内外网配置

我的前后端服务及cas服务端都是nginx代理的,假如我的地址如下:

外网:10.213.163.219
内网:192.168.10.150

nginx配置

user  nginx;
worker_processes  auto;error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {#nginx监听地址和端口(内网地址)listen       8091;server_name  192.168.10.150;#前端location ^~ /portal {autoindex on;add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';proxy_cookie_path /portal/ /cas ;alias /usr/share/nginx/html;index  index.html;try_files $uri $uri/ /index.html last;}#cas服务端location ^~  /cas {proxy_pass http://192.168.10.150:8081/cas/;add_header Access-Control-Allow-Origin *;proxy_cookie_path /cas/ /;  #解决nginx转发丢失cookie的问题# 支持 OPTIONS 请求,并设置预检请求结果的缓存时间if ($request_method = 'OPTIONS') {add_header 'Access-Control-Max-Age' 1728000;add_header 'Content-Type' 'text/plain charset=UTF-8';add_header 'Content-Length' 0;return 204;}}#后端location ^~  /my_server/ {proxy_pass http://192.168.10.150:8082/my_server/;add_header Access-Control-Allow-Origin *;proxy_cookie_path /my_server/ /;  #解决nginx转发丢失cookie的问题# 支持 OPTIONS 请求,并设置预检请求结果的缓存时间if ($request_method = 'OPTIONS') {add_header 'Access-Control-Max-Age' 1728000;add_header 'Content-Type' 'text/plain charset=UTF-8';add_header 'Content-Length' 0;return 204;}}}#include /etc/nginx/conf.d/*.conf;
}

前端配置

因为前端是nginx代理的,所以前端配置的后端地址,cas服务端地址都应是外网地址
示例:

 window.GlobalConfig = {TOB_BASE_URL: `http://10.213.163.219:8091/my_server`,TOB_CAS_LOGIN_URL: `http://10.213.163.219:8091/cas/login?service=${window.location}`,TOB_CAS_COOKIE_NAME: 'TGC',TOB_CAS_LOGINOUT_URL: 'http://10.213.163.219:8091/cas/logout?service=http://10.213.163.219:8091/my_server/api/login/logout',TOB_IS_OPEN_CAS: true
}

后端配置

因为前端访问后端程序时需要进行登录验证,因为是在浏览器中访问的地址,所以跳转登录地址为外网地址才能进行访问,验证通过之后,服务端会获取票据ticket,会拿票据ticket去cas服务端验证,内网之间程序访问使用外网会不通,所以去cas服务端验证的地址应是内网的。

cas:#cas服务端地址(内网)-nginx代理server-url-prefix: "http://192.168.10.150:8082/cas"#cas服务端地址登录地址(外网)-nginx代理server-login-url: "http://10.213.163.219:8091/cas/login"#后端服务地址(外网)-nginx代理client-host-url: "http://10.213.163.219:8091"validation-type: cas3

更多推荐

nginx代理springboot前后端分离服务

本文发布于:2023-11-15 18:10:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1603951.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:后端   nginx   springboot

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!