我只是按照以下过程将单个域映射到我的自定义域:
SharePoint Workflow 2013
mydomain.com
myapp.mydomain.com
和myapp.scapp.io
myapp.mydomain.com
添加一个名称为mydomain.com
并目标为myapp
的CNAME DNS条目(我使用的是Amazon路由53)映射有效,我可以使用mapapp.scapp.io
访问myapp
,但是地址仍然显示myapp.mydomain.com
如何使映射透明化并在地址栏中显示myapp.scapp.io
?
答案 0 :(得分:1)
更新:
我设法使其在Amazon Route 53上运行:
mydomain.com
myapp.mydomain.com
将我的应用程序同时映射到空间中的myapp.scapp.io
和myapp.mydomain.com
为mydomain.com
和名称myapp-cname
的{{1}}添加一个CNAME DNS条目
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
下一步是通常的步骤:
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中创建我的每条私有路由。 mydomain.com
创建名称为mydomain.com
,目标为*
的CNAME DNS条目(swisscom为我的staticfile应用程序自动分配的my-nginx.scapp.io
路由)。最后,我用scapp.io
推送了该应用程序,它的工作原理就像一个魅力!