Peter20150926 2024-08-16 10:23 采纳率: 78.3%
浏览 31

如何在A服务器的域名下访问B中的图片资源

我有一台A服务器(业务服务器),还有一台B服务器(FTP 服务器),现在想在A的应用域名下,访问B中路径下/home/ftpuser/a.jpg 这个如何实现

  • 写回答

2条回答 默认 最新

  • 一直免费一直爽 2024-08-16 10:23
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要在A服务器的域名下访问B服务器中的图片资源,你需要在A服务器上配置一个反向代理。反向代理可以将来自客户端的请求转发到B服务器,并将B服务器的响应返回给客户端。这样,客户端就会认为它正在访问A服务器上的资源,但实际上它是从B服务器获取的。

    以下是使用Nginx作为反向代理的配置示例:

    1. 首先,确保你已经安装了Nginx。如果没有安装,可以使用以下命令安装(以Ubuntu为例):
    sudo apt-get update
    sudo apt-get install nginx
    
    1. 编辑Nginx配置文件,通常位于/etc/nginx/sites-available/default/etc/nginx/nginx.conf。在server块中添加以下内容:
    location /images/ {
        proxy_pass http://B服务器的IP地址或域名/home/ftpuser/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    

    这里,我们将所有以/images/开头的请求转发到B服务器的/home/ftpuser/目录。你可以根据需要修改路径。

    1. 保存配置文件并重启Nginx服务:
    sudo service nginx restart
    
    1. 现在,你可以在A服务器的应用中使用URLhttp://A服务器的域名/images/a.jpg来访问B服务器上的图片资源。例如,如果你的A服务器域名是example.com,那么图片的URL应该是http://example.com/images/a.jpg
    评论

报告相同问题?

问题事件

  • 创建了问题 8月16日