Bootstrap

如何在服务器同一个端口下根据路径区分不同的应用

通常我们使用域名直接访问网站时,使用的是80或者443端口。但一个主站下面可能有好几个子网站,我们如何通过路径来挂载子网站呢?

nginx.conf配置

使用nginx代理能够实现根据不同的路径,访问同一端口下的子网站。
root配置网站的默认根目录,alias指定子网站路径。

server {
        listen 80 default_server;
		charset utf-8;
		
		# 默认访问路径
		location / {
			root  /usr/local/official;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

		# 请求后台访问
        location /api/ {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE_HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header X-Forwarded-Proto $scheme;
			proxy_set_header X-NginX-Proxy true;
            # 反向代理配置
			proxy_pass http://localhost:3637/;
        }
		
		# 子网站路径
        location /vr {
			alias /usr/local/vr;
			try_files $uri $uri/ /our.html;
            index  our.html;
        }
        add_header Access-Control-Allow-Origin "*";
        default_type 'text/html';
        
		error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
;