Nginx 可以通过多种方式实现网站转发(代理/重定向),以下是几种常见的方法:
server {
listen 80;
server_name example.com;
# 永久重定向(301)
return 301 https://new-site.com$request_uri;
# 或临时重定向(302)
# return 302 https://new-site.com$request_uri;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://target-site.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
server_name example.com;
location /some-path/ {
proxy_pass http://target-site.com/new-path/;
# 其他代理设置同上
}
}
server {
listen 80;
server_name example.com;
if ($http_user_agent ~* (mobile|android|iphone)) {
proxy_pass http://mobile-site.com;
}
location / {
proxy_pass http://desktop-site.com;
}
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass https://secure-target-site.com;
# 其他代理设置
}
}
需要哪种转发方式取决于您的具体需求,您能提供更详细的使用场景吗?我可以给出更精确的配置建议。