- springboot
- shiro
- redis
- nginx
127.0.0.1 sso.scj.com
127.0.0.1 app1.scj.com
127.0.0.1 app2.scj.com
使用nginx是为了让上面host的访问都是通过80端口,也就是不需要输入端口来访问
server {
listen 80;
server_name sso.scj.com;
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header 'Content-Length' 0;
return 204;
}
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:8080;
proxy_set_header Cookie $http_cookie;
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' "true";#
}
}
server {
listen 80;
server_name app1.scj.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:8081;
proxy_set_header Cookie $http_cookie;
}
}
server {
listen 80;
server_name app2.scj.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://localhost:8082;
proxy_set_header Cookie $http_cookie;
}
}
安装一个redis即可,在application.properties做对应设置
ssopublic 单点登陆公共包
ssoweb 单点登陆页面 包括手机端和web端(通过http报文中的agent区别)
app1 模拟jsp页面(后端渲染)
app2 模拟前后端分离模式