小编kim*_*gro的帖子

基于主机名的IIS子域反向代理

我有一台 azure 虚拟机,在三个不同的端口上运行三个自托管应用程序(未托管在 IIS 中)。

我可以通过以下网址访问它们:

  • my-server.cloudapp.azure.com:8080
  • my-server.cloudapp.azure.com:8081
  • my-server.cloudapp.azure.com:8082

我已经购买了一个域名 ( my-server.company.com) 并想创建三个指向每个应用程序的子域

  • application-1.my-server.company.com
  • application-2.my-server.company.com
  • application-3.my-server.company.com

我的第一个想法是在虚拟机上安装 IIS 并使用本文中提到的默认网站上的 URL Rewrite 设置反向代理(http://weblogs.asp.net/owscott/creating-a-reverse-proxy-with -url-rewrite-for-iis)。

因此,在这种情况下,我将为每个要指向的子域设置 CNAME 记录my-server.cloudapp.azure.com:80,然后配置反向代理以根据主机标头转发到不同的端口 ( 8080, 8081, 8082)。

这是可能的/最好的方法吗?

第二个问题是一旦我开始工作,我该如何添加 ssl?

每个子域是否需要自己的 ssl 证书,在这种情况下,如何使用上述设置(没有 iis 网站将每个证书绑定到)。或者我可以只使用 my-server.company.com 的证书,然后在反向代理上卸载吗?

最终解决方案

我创建了 CNAME dns 记录如下:

CNAME | application-1 | my-server.cloudapp.azure.com
CNAME | application-2 | my-server.cloudapp.azure.com
CNAME | application-2 | my-server.cloudapp.azure.com
Run Code Online (Sandbox Code Playgroud)

然后在 azure vm 上,我使用以下 Caddyfile运行Caddy(具有自动 HTTPS 的 HTTP/2 Web 服务器): …

domain-name-system iis

2
推荐指数
1
解决办法
2923
查看次数

标签 统计

domain-name-system ×1

iis ×1