我在理解反向代理(即使用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等)托管的网站重定向到单独的服务器应用服务器的建议方法是什么?
答案 0 :(得分:7)
通过重定向,服务器告诉客户端在其他地方寻找资源。客户将知道这个新位置。必须可以从客户端访问新位置 反向代理转而将客户端的请求转发到其他位置,并将响应从该位置发送回客户端。这意味着客户端不知道新位置,并且客户端无需直接访问新位置。