我是做了个frp+nginx反向代理啥的,node和ha都不动,公网访问用frp进来,然后内网访问直接用的nginx配置了反向代理指向这两个主机的内网地址,内外网访问都可以通过同样的域名和端口号,内网IP直接访问也不影响。你可以参考下我的nginx的配置。
我的nginx和frp是放在家里的路由器上的,所以如果你不是在路由器上可能要进行其他的设置,比如要把DNS指向你的那台单独的主机
另外我申请的是一级域名方式,公网访问的话是用frp分别二级域名指向内网的node和ha
比如aaa.com,我node.aaa.com指向内网node-red,ha.aaa.com指向内网ha
nginx反向代理的配置如下:
在/etc/nginx/nginx.conf配置文件下添加include proxy.conf
http {
include mime.types;
#default_type application/octet-stream;
include proxy.conf;
然后同个目录新建个proxy.conf配置文件,丢上去如下信息:
server {
listen 13080; # 这个是你需要使用的端口号
listen [::]:13080; # 这个是IPV6的,跟上面一样就好了
server_name node.aaa.com; # 你的域名
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_intercept_errors on;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass [url]http://10.10.10.110:1880;[/url] # node-red的内网地址
}
}
server {
listen 13080;
listen [::]:13080;
server_name ha.aaa.com;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_intercept_errors on;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass [url]http://10.10.10.110:8123;[/url] # ha的内网地址
}
}
现在应该就可以使用域名访问两个主机了
node.aaa.com:13080 访问node-red
ha.aaa.com:13080 访问ha
写的不是很明白...将就看看把
|