[GH-ISSUE #1510] Stream重命名时,被同步的节点不能删除旧stream #3012

Closed
opened 2026-02-27 12:30:07 +03:00 by kerem · 0 comments
Owner

Originally created by @FourLeafTec on GitHub (Jan 3, 2026).
Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/1510

Stream配置[S1]由主节点向节点A同步

在主节点重命名[S1]为[S2],节点A不能同步重命名,会变成[S1],[S2]共存,这时Stream里的upstream命名就会冲突

另外我这里还有个问题不知道是不是和这个问题有关
主节点第一次向节点A同步[S1]时,节点A也会报[emerg] duplicate upstream "s1_upstream"

通过grep -r "upstream s1_upstream" /etc/nginx/ 也查不到第二个这个upstream

[S1]配置为

map $ssl_preread_server_name $backend_name {
    ~^S1_.*$ s1_upstream;
    default http_backend;
}
upstream s1_upstream {
    server s1-server:55782;
}
upstream http_backend {
    server 127.0.0.1:8443;
}
server {
    listen 443;
    listen [::]:443;
    ssl_preread on;
    proxy_pass $backend_name;
    proxy_protocol on;
    proxy_timeout 20s;
}

找到原因了,但不知道是哪一步操作引起的,nginx.conf变成了下面这样,stream和http的配置都被修改成了include两遍

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /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;
    include /etc/nginx/sites-enabled/*;
    include /etc/nginx/sites-enabled/*;
}
stream {
    include /etc/nginx/streams-enabled/*;
    include /etc/nginx/streams-enabled/*;
}
Originally created by @FourLeafTec on GitHub (Jan 3, 2026). Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/1510 Stream配置[S1]由主节点向节点A同步 在主节点重命名[S1]为[S2],节点A不能同步重命名,会变成[S1],[S2]共存,这时Stream里的upstream命名就会冲突 另外我这里还有个问题不知道是不是和这个问题有关 主节点第一次向节点A同步[S1]时,节点A也会报[emerg] duplicate upstream "s1_upstream" 通过grep -r "upstream s1_upstream" /etc/nginx/ 也查不到第二个这个upstream [S1]配置为 ``` map $ssl_preread_server_name $backend_name { ~^S1_.*$ s1_upstream; default http_backend; } upstream s1_upstream { server s1-server:55782; } upstream http_backend { server 127.0.0.1:8443; } server { listen 443; listen [::]:443; ssl_preread on; proxy_pass $backend_name; proxy_protocol on; proxy_timeout 20s; } ``` 找到原因了,但不知道是哪一步操作引起的,nginx.conf变成了下面这样,stream和http的配置都被修改成了include两遍 ``` user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /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; include /etc/nginx/sites-enabled/*; include /etc/nginx/sites-enabled/*; } stream { include /etc/nginx/streams-enabled/*; include /etc/nginx/streams-enabled/*; } ```
kerem 2026-02-27 12:30:07 +03:00
  • closed this issue
  • added the
    bug
    label
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-ui#3012
No description provided.