<通过nginx转发实现外网访问内网图片
比如我们想通过http://julytian.cn/business/111.jpg这个地址去访问内网http://192.168.0.2/business/111.jpg
实现如下
nginx配置
server
{
listen 80;
#listen [::]:80;
server_name xxxxxx ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/xxxx/public;
#关键配置开始
#关键配置在这里,如果浏览器含有business,那么就把我们当前的请求转发到内网的192.168.0.2
#这样就实现了,输入域名访问一个不存在的资源的时候,访问到的是内网的资源
location ^~ /business/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://192.168.0.2;
}
#关键配置结束
#这里则是我们自己网站所用框架的伪静态配置,无需理会
location / {
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/xxxx:/tmp/:/proc/";
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
include enable-php-pathinfo.conf;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
access_log /home/wwwlogs/mt.log;
}
>