windows服务器上用nginx转发到iis中的网站

windows服务器上用nginx转发到iis中的网站

2024年6月23日 测试通过

前提:华为云1核心2G内存1M带宽 服务器 ¥40/年,还没有备案,80端口用不了,在安全组里把81端口打开了,同时记得登录云服务器里把WINDOWS的防火墙关闭或者放行81端口

想法:windows服务器里下载nginx windows版本,然后所有请求都通过nginx转发到IIS里部署的网站上,IIS上部署的网站不绑定80端口,每个IIS网站都绑定一个如8001,8002,8003 这样的端口一直下去。。。

看了一下以前的小目标,其实这个想法之前就已经自己测试实现过了,看记录是23年9月的时候就测试过了,不过那时没有做到记录,今天测试好了特此记录一下!!!

nginx版本:1.25.2

iis里部署netcore网站:绑定里的主机名是localhost,端口是8003

nginx里的server写法:

 

 server{
     listen    81;
        server_name tool.niunan.net; 

        location / { 
        proxy_redirect http://localhost:8003/ /;
        proxy_set_header Host localhost; #记得iis里的绑定的主机名也要是localhost
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8003/; 
             }
 }

server_name是访问的域名,因为没有备案无法用80端口,访问只能是 http://tool.niunan.net:81来访问,如果没有server_name的话就可以直接用http://ip:81来访问了

然后命令行下:

 

//检测nginx配置文件是否有错误
nginx -t
//没有错误就可以运行了
nginx.exe
//修改配置文件后热重载nginx
nginx -s reload
//停止nginx
nginx -s stop
//如果错误信息里提示端口被占用什么的,可以先停掉w3c服务,启动得nginx了再开启w3c服务
net stop w3svc
net start w3svc
//cmd下查找端口占用情况
netstat -ano|findstr 80
//上面的命令查找出来最后一列是进程ID,再通过下面的CMD命令查找对应哪个程序
tasklist |findstr 25728

弄好后不出意外就可以在外网输入http://tool.niunan.net:81来访问部署在iis上的netcore网站了,nginx会转发到http://localhost:8003上,而且客户端IP也会一同提交过去

自己弄的时候先是怎么都访问不了,经检查发现是我华为云安全组是放开了81端口,但是WIN服务器上的防火墙没有放开81端口,改了以后就行了

然后就是会碰到

Bad Request Invalid Hostname

HTTP Error 400. The request hostname is invalid

的错误,经查是配置文件里的

proxy_set_header Host localhost; #记得iis里的绑定的主机名也要是localhost

这一行里的localhost要和IIS绑定里的主机名对应上,如果IIS主机名写的是127.0.0.1,这里也要写上127.0.0.1

参考:Nginx 代理调用 IIS报错:Bad Request Invalid Hostname HTTP Error 400. The request hostname is invalid_iis bad request - invalid hostname-CSDN博客

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值