使用 ProxyPass 将 Apache 重写为 Nginx

使用 ProxyPass 将 Apache 重写为 Nginx

我正在尝试将托管在 Apache Web 服务器*上的子域名通过 .htaccess 重定向到外部 URL,隐藏此外部 URL。.htaccess 文件如下所示:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^sub.domain\.com [NC]
RewriteRule ^(.*) http://external-domain.com/$1 [P]

我应该如何配置 Nginx 网站?该网站非常简单,如果直接在本地网络中调用,就可以正常工作:

server {
    listen 80;

    server_name sub.domain.com;

    root /usr/share/nginx/html/sub.domain.com;
    index index.html;
}

我猜想肯定存在某种 ProxyPass 魔法,但我搞不清楚是什么。它一定是这样的

location ^~ / {    
    proxy_pass http://localhost;
    proxy_set_header X-Real-IP 127.0.0.1;
    proxy_set_header Host sub.domain.com;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

但这不起作用。我会很感激任何帮助。谢谢...

*Web 服务器由一个简单的提供商托管,无需进行特殊配置

答案1

我采用了最简单的解决方案。我删除了子域名并添加了 CNAME DNS 记录。这样就行了。

相关内容