nginx配置需求:
1、以/api开头的请求,转发到blade 项目网关上去。
2、前端静态资源(编译后的)请求,也让同一nginx去处理。
翼宿的群里的回复的截图
upstream api_server {
server 127.0.0.1:8090; #api gateway
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main;
root /opt/ast-front;
location / {
}
location ^~ /api/ {
#Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://api_server;
}
这是我个人的配置, 文字版, 方便大家复制, 最关键的一行, 请求转给api gateway时, 要去掉api。
我也是按照你这个配置的为什么请求会报404
user root;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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 /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#include /etc/nginx/conf.d/*.conf;
upstream gateway {
server 172.30.0.81;
server 172.30.0.82;
}
upstream auth {
server 172.30.0.91:8100;
server 172.30.0.92:8100;
}
upstream report {
server 172.30.0.98:8018;
}
server {
listen 88;
server_name gateway;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_pass http://gateway;
}
}
server {
listen 9000;
server_name auth;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_pass http://auth;
}
}
server {
listen 8108;
server_name report;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_pass http://report;
}
}
}
我也是这么配置的 还是404,麻烦帮忙看看下呢 谢谢 ,nginx 监听的8099端口 后端使用的是8066端口 ,我只用了springboot版本,后端就一个服务
扫一扫访问 Blade技术社区 移动端