![使用 ProxyPass 将 Apache 重写为 Nginx](https://linux22.com/image/770999/%E4%BD%BF%E7%94%A8%20ProxyPass%20%E5%B0%86%20Apache%20%E9%87%8D%E5%86%99%E4%B8%BA%20Nginx.png)
我正在尝试将托管在 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 记录。这样就行了。