Nginx中HTTP重定向与反向代理的差异 [英] Difference HTTP Redirect vs Reverse Proxy in NGINX

查看:28
本文介绍了Nginx中HTTP重定向与反向代理的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很难理解反向代理(即对给定的上游服务器使用PROXY_PASS指令)和301永久重定向之间的区别。它们有什么相似/不同之处?

反向代理

upstream backend {
    server backend1.example.com       weight=5;
    server backend2.example.com:8080;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

HHTP重定向

阿帕奇示例:http://www.inmotionhosting.com/support/website/htaccess/redirect-without-changing-url

nginx示例:

server {
    listen 80;
    server_name domain1.com;
    return 301 $scheme://domain2.com$request_uri;
}
因此,从终端用户的角度来看,这两种方法似乎没有区别。我想确保高效的带宽使用,同时使用SSL。目前,APP服务器使用自己与Nginx自签名的SSL证书。从标准网络托管公司(Hostgator、GoPardy等)托管的网站重定向用户的推荐方法是什么?到单独的服务器应用服务器?

推荐答案

通过重定向,服务器告诉客户端在其他地方查找资源。客户将知道这个新位置。新位置必须可以从客户端访问。
相反,反向代理将客户端的请求转发到自己的某个其他位置,并将该位置的响应发送回客户端。这意味着客户端不知道新位置,并且客户端不需要直接访问新位置。

这篇关于Nginx中HTTP重定向与反向代理的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆