Nginx配置反向代理

前后端分离项目的部署配置

Nginx就非常离谱,也不知道为什么,前端静态资源也需要单独配置,而且这配置方式还非常的离谱,贴一下配置文件

配置文件路径/etc/nginx/sites-enabled

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
server {
listen 80; #监听80端口
server_name 10.100.128.8; #监听访问的host

location /EleLabSys/ {
root /var/www/html/;
try_files $uri $uri/ EleLabSys/; #此处非常离谱,是经过不断尝试出来的,子文件夹必须要写在这个地方才行
index index.html index.htm;
}
# 后端api代理还比较正常
location /prod-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_pass http://localhost:8080/;
}
}

具体是什么原因导致的暂且不深究。。。

等有空再研究


更新来了。。。

经过再次的尝试,发现是需要把根路径放到最后面,这样才能正常地访问静态资源,不需要手动配置,并且代理也有效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
server {
listen 80; #监听80端口
server_name 10.100.128.8; #监听访问的host

# 实验室系统后端
location /prod-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_pass http://localhost:8080/;
}
# 实验室代码仓库
location /gitea/ {
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_pass http://localhost:3000/;
}
# 实验室系统云盘
location /cloudDisk/ {
# 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_pass http://localhost:9999/;
}

# 需要放到最后面,匹配优先级最低
location / {
root /var/www/html/;
try_files $uri $uri/ /;
index index.html index.htm;
}
}