该方案可解决客户公司没有固定IP,内网IIS程序配置外网访问。如果有固定IP,可以直接在公司主路由器上映射端口即可。
一、申请一个公司域名和云服务器
二、在申请的公司一级域名下,解析一个二级域名,使用泛域名方式,解析到云服务器ip
三、在云服务器上和本地应用服务器上分别配置frp实现内网穿透
1、云服务器上:
[common]
bind_port = 7000
运行start.bat
2、本地应用服务器上:
[common]
server_addr = 117.50.*.* ------云服务器IP
server_port = 7000
token = xxxxxxxx
[appa] ----不能重名
type = tcp
local_ip = 127.0.0.1
local_port = 6090 ---本地服务器上开放一个端口,需要开放防火墙
remote_port = 6091 ----云服务器上对接的端口,内网端口
运行start.bat,需要将改代理设置为开机自启动
四、在云服务器上配置nginx代理
server {
listen 6090;
server_name localhost;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
root html;
location / {
proxy_pass http://127.0.0.1:6091; ----对接本地服务器上的端口6090
client_max_body_size 200m;
proxy_connect_timeout 600s;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
location /error {
}
location ~ /\.ht {
deny all;
}
location ~ /.+\.(inc|conf|cnf) {
deny all;
}
#access_log off
}
重启nginx代理服务
五、在本地应用服务上上配置IIS,IIS配置采用第二步解析的二级域名和第三步设置的本地应用服务器上的开发端口
例如:
运行结果如下: