
情况:二级域名(假设是 a.v2ex.com )已经在运营商控制台解析到了服务器 ip 地址(假设是 119.75.217.109),默认 80 端口。
服务器上,iis 跑了一堆网站,80 端口被 iis 用了。
nginx 跑了一堆网站,主要跑 18000 这个端口。
我想让 a.v2ex.com 这个二级域名指向 119.75.217.109:18000 ,应该如何操作?
1 deplivesb 2022 年 8 月 15 日 「二级域名(假设是 a.v2ex.com )已经在运营商控制台解析到了服务器 ip 地址(假设是 119.75.217.109),默认 80 端口」 A 记录啥时候能带端口了,80 不是 http 默认端口么,你要想通过 a.v2ex.com 这个域名直接访问到 18000 端口最简单就是 a.v2ex.com:18000 ,如果你不想手动指定端口,用 http 默认 80 ,那就去搜一下 nginx 端口转发 |
2 chenluo0429 2022 年 8 月 15 日 via Android 解析并不能指定端口,80 是 http 协议的默认端口,用户侧不输入端口的情况下,只能从 80 端口访问。 你的需求只能把 nginx 监听端口改成 80 ,或者用反向代理来将外来流量指向 18000 |
3 unt OP @chenluo0429 #2 nginx 监听不了 80 ,被用了 |
4 VensonEEE 2022 年 8 月 15 日 2L 正解 |
5 lostberryzz 2022 年 8 月 15 日 可以 iis 里设置反代 nginx 的一堆网站,或者你有多个 ip 的话,nginx bind 到不同的 ip 上,然后 dns 做改动也可以 |
OP @deplivesb #1 域名后面肯定不能带端口去操作,现实中暴露给用户的肯定是只有一个域名。我这是 nginx 端口转发吗,nginx 监听不了 80 呀,怎么转发 |
7 unt OP @lostberryzz #5 我本来想的是,iis 估计也有转发的功能,然后找了一下,看到了“HTTP 重定向”这个功能,发现不管用,我对 iis 不太熟,还不太清楚怎么搞 |
8 c332030 2022 年 8 月 15 日 @unt #3 iis 换下端口,nginx 用 server_name 不行吗,比如 b.v2ex.com 到 iis ,a.v2ex.com 正常 nginx 访问,b.v2ex.com 和 a.v2ex.com 都指向 119.75.217.109 |
9 JustSong 2022 年 8 月 15 日 via Android 那就用 443 ,上 https ,一样不用端口 |
10 Huelse 2022 年 8 月 15 日 iis 改其他端口,外部流量根据 nginx 配置的域名规则转发 |
11 ruixue 2022 年 8 月 15 日 域名解析不能指定端口,你这种情况最常规的解决方案就是在 iis 上设置反向代理到 nginx 的 18000 端口 现在很多 docker 应用也都是默认跑在本地某个端口上,然后再统一通过 nginx 反代开放至 internet 的 |
12 Xusually 2022 年 8 月 15 日 via iPhone iis 不是也有反向代理吗?你都说了 iis80 跑了一堆网站了,也不在乎再跑个 b 网站啊,iis 配置监听 b 域名,iis 上配置 b 反向代理到 18000 端口的 nginx 不就可以了? |
13 LinePro 2022 年 8 月 15 日 Google 搜索:IIS reverse proxy |
14 selca 2022 年 8 月 15 日 很好奇,有种解析记录叫 srv 记录,这个我记得好像可以指定端口,但没看明白是什么,有大佬讲讲吗 |
15 jiulang 2022 年 8 月 15 日 IIS 的反向代理太难用了,IIS 其实是 http.sys 的前端而已,使用 yarp 托管在 http.sys ,继续监听 80 和 443 ,同时从 IIS 手里抢过 a.v2ex.com ,就可以灵活的配置反向代理了,而且性能也最佳。 |
16 jiulang 2022 年 8 月 15 日 如果有需要,我可以帮你写这个与 IIS 共享端口(但分摊域名)的反向代理服务,这个服务可以灵活的配置反向代理到的任意上游服务 |
17 jiulang 2022 年 8 月 15 日 当然,你也可以在 IIS 和你的新服务(非 IIS)之外,购买一台具有独立 IP 的服务器,上面跑一层 nginx (网关),把域名解析到新服务器的 IP ,然后在 nginx (网关)根据域名做反向代理规则 |
18 devehx 2022 年 8 月 15 日 你看看你解析域名的时候不要用 A 记录,使用显性 URL 和隐性 URL 可以直接解析到一个 url 地址,可以带端口的。我之前这样搞过 |
20 nitmali 2022 年 8 月 15 日 找其他服务器反向代理中转一下 |
22 jiulang 2022 年 8 月 15 日 这个场景我遇到过,某个有历史的 web 服务,用了 a,b,c,d 等多个二级域名完成各个业务模块,后面重写了 d 模块,并使用多台服务器来部署 d 模块。使用 yarp 托管在 http.sys ,可以只动 d 模块。 |
23 6IbA2bj5ip3tK49j 2022 年 8 月 15 日 上面已经有人说了,“iis 反代” 就好了。 |
27 jiulang 2022 年 8 月 15 日 建议还是搞基于 http.sys 的 yarp ,劫持部分域名,且反向代理与负载均衡同时支持 |
28 andyskaura /div> 2022 年 8 月 15 日 @selca srv 貌似不能用作 http 访问 |
29 yufeng0681 2022 年 8 月 15 日 方案 1 、弄一台 linux 机器安装 nginx 来跑 ip:119.75.217.109 的反向代理,可以基于域名指向后台各种服务,性能不差。 方案 2 、重新弄一个公网 ip ,linux 机器,跑新业务,新业务不太可能用 iis 等性能差的 web 服务器去跑,解耦了,也不会被老业务性能限制,也不会被已有业务的运营吐槽,给他们增加了运维压力,出了事情也不用背锅。 [未来更多的新业务都可以放在这里跑] |
30 honhon 2022 年 8 月 15 日 iis 也是支持反向代理的,ARRv3.0 |
31 honhon 2022 年 8 月 15 日 重定向浏览器的 ip 地址当然会变 |
32 liaohongxing 2022 年 8 月 15 日 windows 装 nginx 没啥用。半残废 。iis 反代即可 |
33 apois 2022 年 8 月 15 日 我这边前面有台同 iis 80 443 和 nginx 8080 ,采用的方案是套 CDN ,源站地址可不同端口。 |
34 Xusually 2022 年 8 月 15 日 via iPhone 我 google 了一下 iis reverse proxy 第一页全是有效结果,有官方文档,也有博客文章……你随意参考一下就行了啊 |
35 dorothyREN 2022 年 8 月 15 日 你需要的可能是 隐性 url |