在SCADA做数据采集过程中,难免会出现网络层面的问题,需要跨IP通过端口的方式进行通讯访问,经朋友引荐,发现了一个神奇的软件,反向代理软件Nginx,可以实现我们需要的功能,进行端口映射,随心所欲,关键它是开源的,可以自己根据需要来配置,好用的不要不要的!
以下引自百度:
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
看看最后一行那些知名的网站,是不是也有点心动了,发一点我修改并实现功能的代码吧!以后遇到的问题也一并记录下来,给志同道合的工友们分享一下:
此段实现了将本机的端口800分别指到“127.0.0.1:88/Upload/”和“127.0.0.1:9900/Upload/”,而这两个URL可以应用IIS分别配置不同的文件夹路径。
部分代码如下:
……
server {
listen 800;
server_name localhost;
location /web/Upload/ {
proxy_pass http://127.0.0.1:88/Upload/;
}
location /api/ {
proxy_pass http://127.0.0.1:9900/Upload/;
}
……
需要的小伙伴可以一同研究探讨哟!
楼主最近还看过
在调试过程中发现如下错误:
……*27 WSARecv() failed (10054: An existing connection was forcibly closed by the remote host) while reading upstream……
经查询并测试,发现如下可以解决之。
修改nginx的nginx.conf文件,配置信息如下:
http{}中添加:
keepalive_requests 8192;
keepalive_timeout 180;
server{
location / {
proxy_http_version 1.1;
}
}