全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 700|回复: 6

【已解决】命盘50 帮我修改一下 Nginx 的配置

[复制链接]
发表于 2023-3-5 23:00:27 | 显示全部楼层 |阅读模式
本帖最后由 xz72670 于 2023-3-6 00:57 编辑

为了表述问题,假设有两个域名: a.com 和 b.com ,  需要实现访问 a.com 的二级域名,对应跳转去变成访问 b.com 的二级域名,即对应关系如下:

http://a1.a.com --> http://b1.b.com
http://a2.a.com --> http://b2.b.com
http://a3.a.com --> http://b3.b.com
。。。
。。。
(此处省略n行,以上3行足已说明问题)


因此我写了如下配置:

------------------代码开始----------------------------
server
{
    listen 80;
    server_name *.a.com a.com;
    location / {
      if ($host ~ ^a(.*).a.com$) {
          set $ej b$1.b.com;
      }

      proxy_pass        http://$ej;
      proxy_redirect http://$ej/ http://$host/;
      proxy_set_header    X-Real-IP $remote_addr;
      proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header    Host $ej;
      proxy_set_header    Upgrade $http_upgrade;
      proxy_set_header    Connection Upgrade;
      proxy_http_version  1.1;
    }

}
------------------代码结束----------------------------

现在我的需求是,帮我改一下。需要改的代码应该是红色部分。

要改成如下效果:

已知 a.com 的二级域名都是  a和8位纯数字组成的,格式举例:a12345678.a.com,而要跳转去访问的是IP和端口,比如IP是 8.8.8.8,
则对应的跳转关系是:访问 a.com 的二级域名,就跳转去访问 IP和端口,端口是取自二级域名的后4位数,下面举例说明白这个4位数是什么意思,
比如,
http://a91211702.a.com --> http://8.8.8.8:1702
http://a61635805.a.com --> http://8.8.8.8:5805
http://a21584324.a.com --> http://8.8.8.8:4324
http://a25843955.a.com --> http://8.8.8.8:3955
http://a10629123.a.com --> http://8.8.8.8:9123
http://a32135670.a.com --> http://8.8.8.8:5670
http://a11819707.a.com --> http://8.8.8.8:9707
(此处省略n行)

需要改的应该是红色部分吧,命盘50当学费

如果懂得怎么改的,可以PM我   https://t.me/mjjapple (最好是自己先亲测有效),如果你乐于做老师,可以直接把代码写在评论哈哈,我求知欲特强,想向大神学习一下。




发表于 2023-3-5 23:03:54 | 显示全部楼层
  1. server {
  2.     listen 80;
  3.     server_name *.a.com a.com;

  4.     location / {
  5.         if ($host ~ ^a(\d{8})\.a\.com$) {
  6.             set $port_suffix $1;
  7.             set $ej "8.8.8.8:${port_suffix:4}";
  8.         }
  9.         proxy_pass        http://$ej;
  10.         proxy_redirect http://$ej/ http://$host/;
  11.         proxy_set_header    X-Real-IP $remote_addr;
  12.         proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
  13.         proxy_set_header    Host $ej;
  14.         proxy_set_header    Upgrade $http_upgrade;
  15.         proxy_set_header    Connection Upgrade;
  16.         proxy_http_version  1.1;
  17.     }
  18. }
复制代码
发表于 2023-3-6 00:13:36 | 显示全部楼层
xz72670 发表于 2023-3-5 23:43
报错了,这个是什么问题?求老师指点一下?

没编译正则模块吧
试试这个
  1. location /a {
  2.         if ($host ~ ^a\d\d\d\d(\d\d\d\d)\.a\.com$) {
  3.             set $port_suffix $1;
  4.             set $ej "8.8.8.8:${port_suffix}";
  5.         }
  6.         proxy_pass        http://$ej;
  7.         proxy_redirect http://$ej/ http://$host/;
  8.         proxy_set_header    X-Real-IP $remote_addr;
  9.         proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
  10.         proxy_set_header    Host $ej;
  11.         proxy_set_header    Upgrade $http_upgrade;
  12.         proxy_set_header    Connection Upgrade;
  13.         proxy_http_version  1.1;
  14. }
复制代码
发表于 2023-3-5 23:05:28 | 显示全部楼层
进来膜拜神仙
 楼主| 发表于 2023-3-5 23:43:50 | 显示全部楼层

报错了,这个是什么问题?求老师指点一下?
 楼主| 发表于 2023-3-6 00:56:19 | 显示全部楼层
@251768938 @ukuq
谢谢两位的热心回复,综合你们两个的评论,我再根据自己实际的情况来修改,我的问题已经得到了解决,主要是来自你们的评论给我启示,我算是学习了
我是命盘50求学习的,君子一言驷马难追,50平均分,你们俩可以PM我,提供一下收款方式,我分别给你们支付25当交学费,谢谢你们
发表于 2023-3-6 01:08:36 | 显示全部楼层
xz72670 发表于 2023-3-6 00:56
@251768938 @ukuq
谢谢两位的热心回复,综合你们两个的评论,我再根据自己实际的情况来修改,我的问题已经 ...

可以支付宝口令红包私信给他们。双方都不知道对方的信息。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-5-13 09:06 , Processed in 0.067721 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表