前言
自己基于springboot写了两个服务A,B,为了区分,A和B为两个不同的项目,分别使用端口8100和8200端口进行访问,在一般情况下,我们要访问这两个服务需要通过http(s)://+域名(IP)+port+path的形式来方式,这个一个完整请求路径,如:访问服务A中的登录接口,在我的项目中登录接口地址为
/user/login
因此访问A登录地址为
http://localhost:8100/app/test/user/login
访问B登录地址为
http://localhost:8200/admin/test/user/login
现有nginx一个,怎么通过80端口对这两个地址进行访问
http://localhost/app/test/user/login
http://localhost/admin/test/user/login
这时就要考虑到用nginx转发了
正文
那么如果通过nginx实现以上功能呢?
首先我们来看看nginx的默认配置
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;
server {
listen