一个域名、端口、nginx配置的问题
现有条件
已知我有:
- 域名 domain.com
- 家里的一台主机,装了 windows server 2019,内网 ip 是 192.168.1.50,外网 ip 是 10.1.1.1。
- 服务器下的虚拟机 centos,内网 ip 是 192.168.1.51。
我在虚拟机中装了两个服务:
- gogs
开启服务到 127.0.0.1:3000。 - jenkins
开启服务到 127.0.0.1:8080
我在域名中配置了两条解析:
jenkinsci,A 记录,10.1.1.1
gogs,A 记录,10.1.1.1
我在路由器中配置了两条端口转发,为了外网请求能访问到内网的服务。
我的 nginx 配置是
[root@MiWiFi-RA80-srv vhost]# cat gogs.conf
server {
listen 3000;
server_name gogs.domain.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
[root@MiWiFi-RA80-srv vhost]# cat jenkins.conf
server {
listen 3003;
server_name jenkinsci.domain.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
目标是
在外网使用 jenkins.domain.com:3000 访问 gogs,访问 gogs.domain.com:3003 访问 jenkins。除了上述端口和域名的组合,访问其他的地址都报404。
问题是
在外网使用 gogs.domain.com:3003 也能访问到 jenkins,使用 jenkins.domain.com:3000 也能访问到 gogs。换言之,我配置的域名没有用,具体访问了哪个服务只跟端口有关系。
请问各位大佬,我是哪里配置出问题了,具体要怎么修改,能达到我想要的效果呢?
listen 80或443就可以了吧,你这已经是代理了