通过ftp上传图片后,通过nginx反向代理,输入url实现图片回显
eg:http://localhost:9700/ftp/test12345677.jpg
访问效果:
文件存储路径为:F:\test\ftp\test12345677.jpg,nginx的具体配置方式,针对nginx和ftp是否同台服务器配置单独说明:
nginx和ftp是同一台服务器,则配置如下:
server {
listen 9700;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /ftp {
root F:\test;
index *.jpg;
}
}
nginx和ftp分别为不同的服务器,需分别配置nginx服务,假设ftp所在服务器ip为177.22.33.11,被访问的反向代理服务器ip为177.22.33.22,则配置如下:
ftp所在服务器nginx配置,同上(一台服务器时的配置):
server {
listen 7777;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /ftp {
root F:\test;
index *.jpg;
}
}
实现反向代理所访问的服务器nginx配置:
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#ftp
upstream ftp_server {
server 177.22.33.11:7777 max_fails=3 fail_timeout=5s weight=1;
}
server {
listen 9700;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#ftp
location ^~/ftp/ {
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-NginX-Proxy true;
proxy_pass http://ftp_server/ftp/; #反向代理显示图片
}
}
}