server { listen 80 default_server; listen [::]:80 default_server; server_name xxx.net; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; #前端配置 访问路径 / 就是访问前端主页面 location / { root /home/xxx/html/dist; # 不要写成 index index.html,index.html; 访问xxx.net会报403错误 不知道为啥 index index.html; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for; } # 后端请求地址为http://xxx.net/api开头 此处将/api开头的地址进行转发 # 这样做的好处是不用做跨域 因为在同一个域下 location ^~ /api { # 下面这一行端口号后面的 / 不要掉 这个 / 代表将上面路径中的 /api去掉 # 访问http://xxx.net/api/user/getById?id=1 # 会转化成 http://localhost:8080/user/getById?id=1 # 如果端口号后没有 / 那么/api会被带上 上面的 # 地址就成 http://localhost:8080/api/user/getById?id=1 proxy_pass http://localhost:8080/; } error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
遇到的问题和注意点都写在注释里面了。