通常我们使用域名直接访问网站时,使用的是80或者443端口。但一个主站下面可能有好几个子网站,我们如何通过路径来挂载子网站呢?
nginx.conf配置
使用nginx代理能够实现根据不同的路径,访问同一端口下的子网站。
root配置网站的默认根目录,alias指定子网站路径。
bash
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;
}
}