为了试验先模拟一下
改hosts 在
C:\Windows\System32\drivers\etc
加一行 表示被调用方的域名 这样b.com 就会到127.0.0.1
127.0.0.1 b.com
新建一个vhost(意思是虚拟主机)文件夹放我的配置文件↓
里面新建一个b.conf
server {
listen 80;
server_name b.com;
location / {
proxy_pass http://localhost:8080/;
}
}
意思是:对b.com:80
的不论什么请求 全部都会(location /
)转到http://localhost:8080
在nginx.conf里面最后加一句include vhost/*.conf;
让vhost里面这个格式的文件都为配置文件
然后nginx -t
测一下 配置有没有打错
start ngnix.exe
启动
2个现在一样
前端代码url 改下 让其通过ngnix再去tomcat服务端 如:
$.getJSON("http://b.com/test/get1").then(function(jsonObj) {
result = jsonObj;
});
在刚才新建的配置文件里面b.conf 里面让nigix给响应加头 加的头就和之前服务端代码里的一样 除了预检命令直接返回成功200
server {
listen 80;
server_name b.com;
location / {
proxy_pass http://localhost:8080/ ;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Methods *;
add_header Access-Control-Max-Age 3600;
add_header Access-Control-Allow-Origin $http_origin;
add_header Access-Control-Allow-Headers
$http_access_control_request_headers;
if ($request_method = OPTIONS){
return 200;
}
}
}
重启nginx让配置生效ngnix.exe -s reload