映射到自定义域仍显示* .scapp.io

时间:2018-08-28 11:47:07

标签: meteor cloudfoundry amazon-route53 swisscomdev

我只是按照以下过程将单个域映射到我的自定义域:

  1. 在ORGS中创建域SharePoint Workflow 2013
  2. 在空间中创建路线mydomain.com
  3. 将我的应用同时映射到空间中的myapp.mydomain.commyapp.scapp.io
  4. myapp.mydomain.com添加一个名称为mydomain.com并目标为myapp的CNAME DNS条目(我使用的是Amazon路由53)

映射有效,我可以使用mapapp.scapp.io访问myapp,但是地址仍然显示myapp.mydomain.com

如何使映射透明化并在地址栏中显示myapp.scapp.io

2 个答案:

答案 0 :(得分:1)

更新:

我设法使其在Amazon Route 53上运行:

  1. 在ORGS中创建域mydomain.com
  2. 在空间中创建路线myapp.mydomain.com
  3. 将我的应用程序同时映射到空间中的myapp.scapp.iomyapp.mydomain.com

  4. mydomain.com和名称myapp-cname的{​​{1}}添加一个CNAME DNS条目

  5. myapp.scapp.io添加一个名称为mydomain.com的CNAME DNS条目,以启用 Alias 和目标myapp

它按预期在地址栏中显示myapp-cname.mydomain.com,但是我怀疑这是正确的方法。

答案 1 :(得分:0)

@UPDATE问题来自我的流星应用程序,该应用程序没有正确地将请求强制发送到https。我使用的是force-ssl软件包,但正如自述文件所述:

  

流星束(即流星构建)不包含HTTPS服务器或证书。在流星束之前终止SSL的代理服务器必须设置x-forwarded-proto或Forwarded(RFC 7239)标头,此程序包才能正常工作。

因此,我正在使用带有自定义nginx.conf的静态文件应用程序。

我使用staticfile-buildpack创建了一个静态文件应用程序,将我的私有域添加到routes中的manifest.yml中,并将环境变量FORCE_HTTPS设置为{{1} }:

true

下一步是为我的每个私有域创建一个applications: - name: my-nginx memory: 128M instances: 1 buildpack: https://github.com/cloudfoundry/staticfile-buildpack.git routes: - route: 'app1.mydomain.com' - route: 'app2.mydomain.com' - route: 'app1.subdomain.mydomain.com' - route: 'app2.subdomain.mydomain.com' - route: 'app3.mydomain.com' env: FORCE_HTTPS: true 块的自定义nginx.conf,并在相应的server{...}域上添加一个proxy_pass(此处为两个私有域):

scapp.io

下一步是通常的步骤:

  • 在正确的ORG中创建域worker_processes 1; daemon off; error_log <%= ENV["APP_ROOT"] %>/nginx/logs/error.log; events { worker_connections 1024; } http { charset utf-8; log_format cloudfoundry '$http_x_forwarded_for - $http_referer - [$time_local] "$request" $status $body_bytes_sent'; access_log <%= ENV["APP_ROOT"] %>/nginx/logs/access.log cloudfoundry; default_type application/octet-stream; include mime.types; sendfile on; gzip on; gzip_disable "msie6"; gzip_comp_level 6; gzip_min_length 1100; gzip_buffers 16 8k; gzip_proxied any; gunzip on; gzip_static always; gzip_types text/plain text/css text/js text/xml text/javascript application/javascript application/x-javascript application/json application/xml application/xml+rss; gzip_vary on; tcp_nopush on; keepalive_timeout 30; port_in_redirect off; # Ensure that redirects don't include the internal container PORT - <%= ENV["PORT"] %> server_tokens off; server { listen <%= ENV["PORT"] %>; server_name app1.mydomain.com; # Redirects to https if the environment variable "FORCE_HTTPS" is set to true <% if ENV["FORCE_HTTPS"] %> if ($http_x_forwarded_proto != "https") { return 301 https://$host$request_uri; } <% end %> location / { proxy_pass https://app1.scapp.io/; } } server { listen <%= ENV["PORT"] %>; server_name app2.mydomain.com; <% if ENV["FORCE_HTTPS"] %> if ($http_x_forwarded_proto != "https") { return 301 https://$host$request_uri; } <% end %> location / { proxy_pass http://app2.scapp.io/; } } } ,并在正确的SPACE中创建我的每条私有路由。
  • 在swisscomdev控制台中为我的每个私有域创建SSL证书。
  • mydomain.com创建名称为mydomain.com,目标为*的CNAME DNS条目(swisscom为我的staticfile应用程序自动分配的my-nginx.scapp.io路由)。

最后,我用scapp.io推送了该应用程序,它的工作原理就像一个魅力!