Skip to content

Conversation

hellowillwan
Copy link
Contributor

当 server web:8080 后面添了加其它参数时,会在替换时被丢弃。

v3.10.12 版演示如下:

root@jms_web:/opt# head /etc/nginx/sites-enabled/https_server.conf
# Todo: May be can auto discovery
upstream http_server {
  ip_hash;
  server web:8080 weight=10;  # 这个是可以通过容器访问, 外部访问是 80端口
  # server HOST2:80;  # 另外的要写真实IP
  server 10.189.143.92:8980 weight=6;
}
...

root@jms_web:/opt# diff /etc/nginx/sites-enabled/https_server.conf /etc/nginx/conf.d/https_server.conf
4c4
<   server web:8080 weight=10;  # 这个是可以通过容器访问, 外部访问是 80端口
---
>   server localhost:51980;  # 这个是可以通过容器访问, 外部访问是 80端口

'weight=10' 被丢弃了。

修正后,不同情况的测试结果如下:

$ echo 'server web:8080 weight=10;  # 这个是可以通过容器访问, 外部访问是 80端口' | sed "s@server web[:0-9]*@server localhost:51980@g"
server localhost:51980 weight=10;  # 这个是可以通过容器访问, 外部访问是 80端口

$ echo 'server web:8080;  # 这个是可以通过容器访问, 外部访问是 80端口' | sed "s@server web[:0-9]*@server localhost:51980@g"
server localhost:51980;  # 这个是可以通过容器访问, 外部访问是 80端口

$ echo 'server web;  # 这个是可以通过容器访问, 外部访问是 80端口' | sed "s@server web[:0-9]*@server localhost:51980@g"
server localhost:51980;  # 这个是可以通过容器访问, 外部访问是 80端口

当 web:8080 后面添了加其它参数时,会在替换时被丢掉。

v3.10.12 版演示如下:
```
root@jms_web:/opt# head /etc/nginx/sites-enabled/https_server.conf
# Todo: May be can auto discovery
upstream http_server {
  ip_hash;
  server web:8080 weight=10;  # 这个是可以通过容器访问, 外部访问是 80端口
  # server HOST2:80;  # 另外的要写真实IP
  server 10.189.143.92:8980 weight=6;
}
...

root@jms_web:/opt# diff /etc/nginx/sites-enabled/https_server.conf /etc/nginx/conf.d/https_server.conf
4c4
<   server web:8080 weight=10;  # 这个是可以通过容器访问, 外部访问是 80端口
---
>   server localhost:51980;  # 这个是可以通过容器访问, 外部访问是 80端口
```

测试
```
$ echo 'server web:8080 weight=10;  # 这个是可以通过容器访问, 外部访问是 80端口' | sed "s@server web[:0-9]*@server localhost:51980@g"
server localhost:51980 weight=10;  # 这个是可以通过容器访问, 外部访问是 80端口

$ echo 'server web:8080;  # 这个是可以通过容器访问, 外部访问是 80端口' | sed "s@server web[:0-9]*@server localhost:51980@g"
server localhost:51980;  # 这个是可以通过容器访问, 外部访问是 80端口

$ echo 'server web;  # 这个是可以通过容器访问, 外部访问是 80端口' | sed "s@server web[:0-9]*@server localhost:51980@g"
server localhost:51980;  # 这个是可以通过容器访问, 外部访问是 80端口
```
@ibuler
Copy link
Member

ibuler commented Oct 18, 2024

呼声不是很高,先合并了

@baijiangjie baijiangjie marked this pull request as draft December 11, 2024 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants