本地服务器配置
win 服务器部署了 springboot 项目 (jar 项目不是前后分离,一个 jar 文件中有前端页面也有后端 API),端口号8081,局域网内访问 http://192.168.0.205:8081/xzy... 测试访问通的。同时本服务器上安装了 frp 的客户端,相关的配置如下
[erp_bylmysql]
type = tcp
local_ip = 127.0.0.1
local_port = 8081
remote_port = 15305
根据上面配置跨网(不在 win 服务器的局域网内)通过地址:http://49.xxx.xxx.119:15305/x... 访问项目也是通的
同时本服务器还安装了 nginx ,相关配置如下。其中 hy.atools.club 是腾讯云服务器绑定的域名 atools.club 的二级域名
server {
listen 80;
server_name localhost hy.atools.club 127.0.0.1 49.xxx.xxx.119;
location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8081/xzy;
proxy_redirect http://127.0.0.1:8081/xzy /xzy;
proxy_cookie_path /xzy /xzy;
}
location /xzy {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8081/xzy;
proxy_redirect http://127.0.0.1:8081/xzy /xzy;
proxy_cookie_path /xzy /xzy;
}
}
腾讯云服务器
腾讯云服务器是 CentOS7 系统,安装了 nginx,相关的配置如下。监听80端口和二级域名,映射到本机的 15305 端口,即映射到 win 服务器所在的局域网内。
server {
listen 80;
server_name hy.atools.club;
location / {
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:15305;
}
}
测试和问题
- 按照上面的配置在浏览器中通过地址:http://hy.atools.club/xzy/login 访问,提示:该网页无法正常运作,HTTP ERROR 502
但是通过地址 http://hy.atools.club:15305/x... 访问则可以,我要如何做可以不用输入端口号 15305
下面是简单的网络拓扑图
proxy_pass
的地址后加个/
试试http://127.0.0.1:15305/;