【已解决】大佬救命,nginx配置问题DS被问慒逼了,深度思考587.6秒——原谅我是小白,把nginx配置错了服务器

# ---------- 强制 HTTPS 跳转(全局配置)----------
server {
    listen 80;
    listen [::]:80;
    server_name x.abc.com y.abc.com;
    return 301 https://$host$request_uri;  # 所有 HTTP 请求跳转 HTTPS
}

# ---------- WordPress 服务配置 ----------
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name x.abc.com;  #  域名

    # Cloudflare Origin CA 证书
    ssl_certificate /etc/ssl/certs/wordpress.crt;
    ssl_certificate_key /etc/ssl/private/wordpress.key;

    # SSL 安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;

    # 反向代理到 WordPress 后端
    location / {
        proxy_pass https://IP;  # 你的 WordPress 后端地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Cloudflare 真实 IP 传递
        proxy_set_header CF-Connecting-IP $http_cf_connecting_ip;
        proxy_set_header CF-IPCountry $http_cf_ipcountry;
    }
 
    # 其他优化
    client_max_body_size 100M;  # 根据 WordPress 需求调整
}

# ---------- y 服务配置 ----------
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name y.abc.com;  # 域名

    # Cloudflare Origin CA 证书
    ssl_certificate /etc/ssl/certs/wordpress.crt;
    ssl_certificate_key /etc/ssl/private/wordpress.key;

    # SSL 安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;

    # 反向代理到 y 后端
    location / {
        proxy_pass http://ip:14300;  # 你的 y 后端地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # 处理 WebSocket(如果你的服务使用 WebSocket)
        #proxy_http_version 1.1;
        #proxy_set_header Upgrade $http_upgrade;
  
        #proxy_set_header Connection "Upgrade";

        # Cloudflare 真实 IP 传递
        #proxy_set_header CF-Connecting-IP $http_cf_connecting_ip;
        #proxy_set_header CF-IPCountry $http_cf_ipcountry;
    }

    # 其他优化
    # client_max_body_size 100M;  # 根据 WordPress 需求调整
}
nginx配置如上,现在的问题是访问y.abc.com,会显示x.abc.com,怎么修改

二个服务布署在同一个服务器A上,证书我使用的是A的证书,域名是另一个服务器B的,x.abc.com是wordpress,y.abc.com我想访问ip:14300,但现在的问题是访问y显示x,求佬友帮忙,感谢!

补充:A服务器以前用的us.kg域名,前两天不能访问我把CLOUDFLARE的DNS删了,源证书还是US.KG的,就是WORDPRESS.CRT和KEY,访问的域名是B服务器的有另外的域名证书,我这两个服务的证书用哪个?

1 Like

有点奇怪,为什么两个域名都绑定的同一个CA证书(不知道CF是不是泛域名证书)
你的问题似乎看起来像是https窜站了
证书是域名哪个用哪个

1 Like

可以试试用 curl 看看是不是被强制301跳转了
如果方便的话,可以私发我域名或是提供更多的信息,我可以帮佬一起看看

又一个活跃的身影

1 Like

我是大水比:tieba_001:


试试这个呢,若是不行,就把域名证书换换

1 Like

如果不方便发域名就用
curl -IvL 'http://x.abc.com'
去测吧,把反馈贴给DS

1 Like

cf會給你的域名簽通配符証書(比如你的域名是a.com添加了兩個記錄x.a.com和y.a.com,cf會給你一個*.a.com的証書)

1 Like

对不起大家,是我搞错了!非常感谢 @chunkBurst @yhp666 两位佬的耐心帮助,只能略尽绵薄之力给二位佬认可一下~

我去学习了 :clown_face:

1 Like

很高兴能帮你一起解决问题 :tieba_001:

解决就好

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。