NGINX中的差异HTTP重定向与反向代理

时间:2017-02-10 07:56:54

标签: apache ssl redirect nginx reverse-proxy

我在理解反向代理(即使用proxy_pass指令和给定的上游服务器)和301永久重定向之间的区别时遇到了一些困难。它们如何相似/不同?

反向代理

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

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

HHTP重定向

Apache示例: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。目前,应用服务器使用自己的自签名SSL证书和Nginx。将用户从标准Web托管公司(hostgator,godaddy等)托管的网站重定向到单独的服务器应用服务器的建议方法是什么?

1 个答案:

答案 0 :(得分:7)

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