You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

单网卡双IP的Windows Server 2022中外网80/443流量无法正确指向IIS的问题解决请求

单网卡双IP的Windows Server 2022中外网80/443流量无法正确指向IIS的问题解决请求

各位大佬好,我遇到了一个服务器配置的棘手问题,想请教下怎么解决:

我的Windows Server 2022服务器只有一块网卡,但配置了两个IP地址:

  • 192.168.1.8:分配给Apache服务使用
  • 192.168.1.9:分配给IIS服务使用

在局域网内部访问两个服务都完全正常,但从外网访问时就出问题了——不管我输入的是HTTP还是HTTPS,最终都会被跳转到Apache对应的网站(我猜测可能是因为1.8是网卡的第一个IP?)。而且从Apache的虚拟主机配置也能看到,80端口有301重定向到HTTPS,所以最终浏览器都会显示HTTPS的Apache站点,完全无法访问到IIS的服务。

我现在的核心需求是:让外网所有80和443端口的流量都直接指向IIS所在的192.168.1.9,请问该怎么配置?

我已经尝试过的方法:

  • 在Windows防火墙里创建了入站规则,选择了w3wp.exe,然后在作用域里设置了外部IP作为远程IP地址,但这个方法完全没用。

另外我想问问,是不是需要在DNS管理器里做什么额外配置?如果需要的话,我可以提供DNS管理工具里的树形结构截图。


更新补充信息:

后来我检查了路由器的NAT端口转发配置,发现已经设置了正确的规则,把外网80/443端口的流量转发到IIS所在的192.168.1.9,具体规则如下:

规则名称外部端口内部端口协议内部IP
SERVER8080TCP192.168.1.9
SERVER443443TCP192.168.1.9

同时我确认了两个服务的监听配置:

  • IIS站点确实在监听192.168.1.9的80和443端口
  • Apache的监听和虚拟主机配置如下:
    • http.conf中的监听设置:
      Listen 192.168.1.8:80
      
    • http-ssl.conf中的监听设置:
      Listen 192.168.1.8:443
      
    • http-vhost.conf的虚拟主机配置:
      <VirtualHost 192.168.1.8:80>
      ServerName website.com
      ServerAlias website.com
      Redirect 301 / https://website.com/
      </VirtualHost>
      
      <VirtualHost 192.168.1.8:443>
      ServerName  website.com
      ServerAlias website.com
      # Index file and Document Root (where the public files are located)
      DirectoryIndex index.html index.php
      DocumentRoot "C:/Apache24/htdocs/website/public"
      # Log file locations
      LogLevel warn
      ErrorLog "logs/website-error.log"
      CustomLog "logs/website-access.log" common
      SSLEngine on
      SSLCertificateFile    C:\\Apache24\\certificates\\website.com.crt
      SSLCertificateKeyFile C:\\Apache24\\certificates\\website.com.key
      <Directory C:/Apache24/htdocs/website/public>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
      </Directory>
      # Cache for static resources (Enable expiration and set it to A2592000 = 1 month)
      ExpiresActive On
      ExpiresByType image/x-icon A2592000
      ExpiresByType image/gif A2592000
      ExpiresByType image/png A2592000
      ExpiresByType image/jpeg A2592000
      ExpiresByType text/css A2592000
      ExpiresByType text/javascript A2592000
      ExpiresByType application/x-javascript A2592000
      ExpiresByType application/javascript A2592000
      # Compress returned resources of type php pages, text file export, css and javascript
      AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
      Protocols h2 http/1.1
      </VirtualHost>
      

最后,域名解析是正常的,ping测试结果如下:

Haciendo ping a myname.myqnapcloud.com [1.2.3.4] con 32 bytes de datos:
Respuesta desde 1.2.3.4: bytes=32 tiempo<1m TTL=64
Respuesta desde 1.2.3.4: bytes=32 tiempo<1m TTL=64
Respuesta desde 1.2.3.4: bytes=32 tiempo<1m TTL=64
Respuesta desde 1.2.3.4: bytes=32 tiempo<1m TTL=64
Estadísticas de ping para 1.2.3.4:
Paquetes: enviados = 4, recibidos = 4, perdidos = 0
(0% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 0ms, Máximo = 0ms, Media = 0ms

备注:内容来源于stack exchange,提问作者Daviid

火山引擎 最新活动