现在有个服务器没有80端口和443端口,只有两个免费的端口开放,可不可挂到其他服务器下,转发 xxx.xxx.xxx/newServer 服务这种下,挂到一个次级域名下?
要在 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_name
为 www.xx.com
,确保它匹配你希望处理的域名。如果需要同时处理HTTP和HTTPS请求,并且期望自动将HTTP重定向到HTTPS,你需要在80端口也配置一个类似的server块,并且在那里实施重定向逻辑。proxy_redirect off;
,因为默认情况下,Nginx的代理模块会自动处理重定向。如果你有特定的重定向需求(比如上面提到的HTTP到HTTPS),请明确配置。proxy_redirect http:// https://;
的注释和说明,因为这个配置在大多数场景下可能并不适用,除非你确切知道上游服务器会返回需要转换scheme的重定向响应。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。