使用内网穿透后 会生成一个免费二级域名通过域名+远程服务器端可以映射本地端口

如:http://cn-2.openfrp.top:8888 8888是远程服务器端映射本地端口80;

错误的Nginx配置

server {
    listen 80;
    server_name test-emlog.com;
    root /www/wwwroot/emlog;
    index index.html index.htm index.php;

    location /blog {
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:89/;
    }

    location ~* .(eot|ttf|woff|svg|otf)$ {
        add_header Access-Control-Allow-Origin *;
    }
}

按照以上配置当我门在浏览器输入 http://cn-2.openfrp.top:8888/blog时 会发现静态资源全部无法加载如图
在这里插入图片描述

错误原因

但是当我们请求失败连接复制出来 加上8888 端口后就会发现可以正常访问
错误原因请求静态文件没有到远程服务器端口导致

原因找到 那么配置错误的点就找到了:
proxy_set_header Host

h

o

s

t

:

host:

host:server_port;

此处配置错误导致的

解办法

修改 proxy_set_header Host

h

o

s

t

:

host:

host:server_port; 为 proxy_set_header Host $http_host;
修改后内容如下

server {
    listen 80;
    server_name test-emlog.com;
    root /www/wwwroot/emlog;
    index index.html index.htm index.php;

    location /blog {
        proxy_set_header Host $http_host;  //只修改这一行
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:89/;
    }

    location ~* .(eot|ttf|woff|svg|otf)$ {
        add_header Access-Control-Allow-Origin *;
    }
}

proxy_set_header 常用配置解释

以此文中的配置举例 一些变量的值

变量 此文中的值 说明
$host cn-2.openfrp.top 不带http https 前缀
$http_host cn-2.openfrp.top:8888 不带http https 前缀
$server_port 80 listen 的值
$proxy_host 89 proxy_pass

原文地址:https://blog.csdn.net/guzhizang/article/details/133910405

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_28650.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注