标签: subdomain

如何使用 nginx 和 proxy_pass 为每个子域创建子域

我目前在我的服务器上设置了 nginx my.server.com。使用当前配置,我使用http://my.server.com/app1或访问不同的应用程序http://my.server.com/app2

我有一个这样的apps.conf位置:/etc/nginx/sites-enabled/

upstream app1_servers {
    server 172.12.11.10:8080;
}
upstream app2_servers{
    server 172.12.11.10:9090;
}
server {
    listen 80;
    server_name my.server.com;
    return 301 https://my.server.com/$request_uri; #force https
}

server {
    listen 443;
    ssl on;
    ssl_certificate /etc/ssl/my.server.com/cert.pem;
    ssl_certificate_key /etc/ssl/my.server.com/priv.pem;
    server_name my.server.com;

    location /app1 {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-Proto https;
            proxy_pass http://app1_servers/app1;
            proxy_redirect http://$host https://$host;
          proxy_set_header Host $host;
    }
    location /app2 {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Host $host; …
Run Code Online (Sandbox Code Playgroud)

nginx reverse-proxy subdomain

5
推荐指数
1
解决办法
3899
查看次数

HAProxy 子域和路径重定向

我是 StackExchange 的新手,正在尝试寻找一些有关配置问题的帮助。我需要为 HAProxy 创建一个配置,它允许我将 Tomcat 应用程序上下文路径动态代理到子域。子域/路径不能硬编码,应设置为变量。我已经查看了整个站点中建议的其他内容,但没有一个涉及这个特定问题。到目前为止,我已经从各种现有建议中汇总了此配置。

这就是我需要的。

  • 用户请求 -> http://site1.domain.com/path
  • 重定向到 https
  • HAProxy 然后使用 URL 向其后端池发出请求 http://<ip>:8080/site1/path

当 tomcat 应用程序返回指向资产的链接时,它们也会有一个需要重定向的路径。

  • 网站退货 https://site1.example.com/site1/image.jpg
  • 如果存在,从路径中删除第一个 site1。 https://site1.example.com/image.jpg

我已经使用本网站的示例和其他指南获得了这么多,但我在这方面的知识有限。我不确定如何删除路径中的 site1。

# Frontend Definition
frontend tomcat_contexts
    bind *:80
    bind *:443 ssl crt /etc/haproxy/cert.pem
    acl http ssl_fc,not
    http-request redirect scheme https if http
    reqadd X-Forwarded-Proto:\ https
    default_backend cluster

# Backend Definition
backend cluster
    balance roundrobin
    cookie JSESSIONID prefix nocache

    # Perform Subdomain url rewrite
    http-request set-var(req.subdomain) req.hdr(host),lower,regsub(\.example\.com$,) if { hdr_end(host) -i .domain.com }
    http-request …
Run Code Online (Sandbox Code Playgroud)

configuration tomcat subdomain haproxy

5
推荐指数
0
解决办法
1302
查看次数

将带有 CNAME 的子域指向 DDNS 子域?

我有一个 Synology NAS,有不同的虚拟主机,所以我有一个 DDNS ( user.synology.me),假设虚拟主机是server1server2server3,所以我可以使用server1.user.synology.me等访问它们。

我指着我example.comuser.synology.me使用CNAME,然后我创建了一个子域:server.example.com使用CNAME指向它server1.user.synology.me,问题是,当我去server.example.com需要我user.synology.me,而不是server1.user.synology.me

我能在这里做什么?

network-attached-storage domain cname-record subdomain synology

5
推荐指数
1
解决办法
1147
查看次数

嵌套通配符子域的 LetsEncrypt 证书

我已为我的域生成 Lets Encrypt通配符证书*.domain.com

我认为该证书对于任何嵌套子域都有效*.*.domain.com,例如it.*.domain.comfr.*.domain.com。但浏览器给我错误,该通配符证书是为 颁发的domain.com,而不是为*.domain.com。我尝试*.*.domain.com使用 CertBot 颁发新证书,但出现错误(不允许使用多个通配符)。

是否可以实现此目的,或者我是否必须为每个第一级子域手动颁发通配符证书?

wildcard subdomain lets-encrypt

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

子域 _acme-challenge 是否受到保护?

我正在研究 Let's Encrypt 的 DNS-01 挑战;我有一个关于子域过程的问题 [1]。

比方说,网站example.com 提供免费的子域;是什么阻止我通过声明 _acme-challenge.example.com 子域来处理 DNS-01 挑战来请求 *.example.com 的 Let's Encrypt 通配符证书?

ACME 协议(或其他任何协议)中是否有任何内容阻止我这样做?

[1] = https://letsencrypt.org/docs/challenge-types/#dns-01-challenge

domain-name-system subdomain certificate-authority lets-encrypt

5
推荐指数
1
解决办法
1831
查看次数

OpenWRT - 如何将主机名的所有子域重定向到同一主机,以便可以进行反向代理?

我有一个 OpenWRT 路由器设置,192.168.1.1带有搜索域local(而不是默认的lan)。

我有一个服务器设置,192.168.1.200,主机名,server.local

我有一个工作站 ,192.168.1.10主机名workstation.local

server.local还运行 NGINX 反向代理,以提供子域,例如sub.server.local.

如果我的工作站尝试访问 ,server.local则会正确解析为指向192.168.1.200

但是,如果我的工作站尝试访问 ,sub.server.local它无法解析为192.168.1.200

如果我的工作站已将192.168.1.200 sub.server.local, 添加到其主机文件中,则它可以正确解析,并且服务器反向代理会将传入连接路由到正确的端口。

我该如何解决这个问题,以便所有子域都server.local解析为192.168.1.200?不必为服务器上的每个子域添加主机记录到每个工作站,这显然是不可持续的。

我假设我需要更改 OpenWRT 路由器上的一些 DNS 记录,但是查看 Luci(Web 界面)中的设置,没有发现任何内容能够实现此目的。

有任何想法吗?

domain-name-system routing reverse-proxy subdomain openwrt

5
推荐指数
1
解决办法
7770
查看次数

替代 /etc/hosts

我们有一台服务器,我们在上面托管私人服务。这些服务也可以从世界其他地方访问,但根据来自哪个 IP 请求的应用程序级别略有不同。

应用程序在 app1.domain.com 等子域上运行,因此我想将 *.domain.com 添加到某个地方的异常并将其指向我们的 VPN IP 而不是公共 IP。/etc/hosts 是一种矫枉过正,因为这个办公室有 25 个客户端系统,而且每次我们启动新应用程序时,我都必须更新每个人的 /etc/hosts。我正在寻找更通用的一次性解决方案。

DNS 可以成为我的解决方案吗?但即使在这种情况下,每次启动新应用程序时我都不必添加新条目吗?(这比将它添加到 25 台机器要好得多,但仍然......)

你有什么建议?

domain-name-system linux vpn hosts subdomain

4
推荐指数
1
解决办法
1576
查看次数

使用 IIS7 本地主机上的通配符子域

我在 Windows 7 上运行 IIS 7,并想设置通配符子域来测试使用子域来识别用户的 ASP.NET 多租户应用程序。我怎样才能做到这一点?

iis wildcard subdomain

4
推荐指数
1
解决办法
4064
查看次数

BIND:如何将子区域委托给其他 DNS 服务器?

我正在从 BIND9 DNS 服务器提供服务的工作组迁移到基于 Windows Server 2008 R2 的 AD 域,我想继续使用 BIND 服务器,直到 AD 基础架构准备就绪。

在设置 AD 的过程中,通过 dcpromo,我收到一个警告,我应该确保我们当前的 DNS 服务器将 AD 域名委托给 AD 服务器。

假设我的 AD 域是 mydomain.lan,而我的常规 BIND 域是 example.com。我将我的 BIND 服务器设置为 lan. 的权威,但想委托 mydomain.lan。到 AD 服务器的 IP。

我的named.conf.local包含:

zone "lan" {
        type master;
        file "zone.lan";
};
Run Code Online (Sandbox Code Playgroud)

zone.lan包含:

$ORIGIN lan.
$TTL 1H ; 1 hour
@                       IN SOA  dns.example.com. hostmaster.example.com. (
                                201008137  ; serial
                                28800      ; refresh (8 hours)
                                14400      ; retry (4 hours) …
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind delegation subdomain dns-zone

4
推荐指数
2
解决办法
5万
查看次数

Dns - 通配符与 cname 子域

好吧,我不得不承认我对 DNS 的工作方式感到困惑。我一直只是添加东西直到它们起作用,现在是时候了解它们是如何工作的了。

所以让我感到困惑的一件事是,我可以在两个地方进行记录。我有一个机架空间云服务器的帐户。然后是我注册域的地方。但两者都允许我编辑 DNS 记录。

我应该在两个地方做所有事情还是一个比另一个更好,或者我错过了重点?

子域也让我感到困惑。我希望能够拥有一个通配符子域(我过去曾这样做过。)我只是不喜欢每次需要新子域时添加 cname 记录或 A 记录的想法。

然后我读了这个,它说:

RFC 1034 中指定了通配符何时匹配的确切规则,但这些规则既不直观也不明确指定。这导致了使用时不兼容的实现和意外结果。

domain-name-system domain subdomain nameserver domain-registration

4
推荐指数
1
解决办法
1039
查看次数