我有一个任务:我有一个主服务器托管一个包含所有业务逻辑的应用程序。
还有其他服务器(将来可能是云)充当文件存储。
用户如何获取一些文件?(但只有那些有权访问的人)。
我的想法:
在 ServerMain 上,我将拥有 Nginx(作为代理)+ Apache 第一个用户向 Nginx 向 Apache 发出 Nginx 代理请求。Apache 检查对文件的访问。如果允许,则 Apache 返回一个重定向到另一台服务器(带有内容的路径)。如果被拒绝,则 Apache 返回拒绝响应。
因此,用户看不到其他服务器的链接。
但这对我不起作用,用户可以看到重定向网址。
我的参数:Nginx 在端口 80 上工作 Apache 在端口 8080 上工作
nginx 配置主机
server {
listen 127.0.0.1:80;
server_name ap-file.loc;
server_name_in_redirect on;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
proxy_connect_timeout 90;
}
}
php页面的代码,重定向到其他服务器
<?php
$newURL = 'http://1.bp.blogspot.com/_16lyaJiGldI/TBekxqet-JI/AAAAAAAAAis/jTGCN4Wfo8Q/s320/smile.jpg';
header('Location: '.$newURL);
该代码适用于apache。
告诉我我做错了什么?可能是Nginx的设置?