开发者社区> 问答> 正文

现在有个服务器没有80端口和443端口,只有两个免费的端口开放,可不可挂到其他服务器下?

现在有个服务器没有80端口和443端口,只有两个免费的端口开放,可不可挂到其他服务器下,转发 xxx.xxx.xxx/newServer 服务这种下,挂到一个次级域名下?

展开
收起
OSC开源社区 2024-06-05 18:59:28 56 0
1 条回答
写回答
取消 提交回答
  • 要在 Nginx 配置文件(nginx.conf)中为监听 8087 端口的服务器块添加一个 location 规则,以便将访问 http(s)://www.xx.com/ 的请求转发到 8081 端口,同时保持配置的整洁和明确,可以调整配置如下:

    server {
        listen 8087;
        server_name www.xx.com; # 更改server_name为实际域名
        client_max_body_size 100M;
    
        # 定义location块以匹配所有请求
        location / {
            # 转发请求到8081端口
            proxy_pass http://192.168.0.113:8081;
    
            # 保持Host头部
            proxy_set_header Host $host;
    
            # 传递真实IP
            proxy_set_header X-Real-IP $remote_addr;
    
            # 传递X-Forwarded-For头,用于记录客户端IP
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
            # 如果有授权信息,传递Authorization头部
            proxy_set_header Authorization $http_authorization;
    
            # 注释掉了proxy_redirect off,因为默认行为通常已足够
            # 若确实需要调整重定向行为,请根据具体情况启用并配置
            # proxy_redirect off;
    
            # 你的配置中原本有proxy_redirect http:// https://;
            # 这行配置通常用于改变上游服务器返回的重定向URL scheme
            # 确保这符合你的需求,若无特殊需求或已确保上游正确处理,可省略
            # proxy_redirect http:// https://;
        }
    }
    

    请注意以下几点调整和说明:

    • 修改了 server_namewww.xx.com,确保它匹配你希望处理的域名。如果需要同时处理HTTP和HTTPS请求,并且期望自动将HTTP重定向到HTTPS,你需要在80端口也配置一个类似的server块,并且在那里实施重定向逻辑。
    • 注释掉了 proxy_redirect off;,因为默认情况下,Nginx的代理模块会自动处理重定向。如果你有特定的重定向需求(比如上面提到的HTTP到HTTPS),请明确配置。
    • 移除了关于proxy_redirect http:// https://;的注释和说明,因为这个配置在大多数场景下可能并不适用,除非你确切知道上游服务器会返回需要转换scheme的重定向响应。
    2024-06-13 15:14:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS块储存产品全面解析 立即下载