有一台配置了nginx'om的VPS机器,其中有10个站点正在旋转结构
tester.example.com
api-one.tester.example.com
api-two.tester.example.com
api-3.tester.example.com
api-4.tester.example.com
api-5.tester.example.com
api-6.tester.example.com
中心站点在单独的主机上旋转
在nginx中,我将默认站点tester.example.com配置为使用cloudflare服务中的ssl
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name tester.example.com www.tester.example.com;
return 302 https://$server_name$request_uri;
}
server {
# SSL configuration
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
ssl on;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/private.pem;
ssl_client_certificate /etc/ssl/certs/cloudflare.crt;
ssl_verify_client on;
server_name tester.example.com www.tester.example.com;
root /var/server/site/;
index index.html index.htm index.nginx-debian.html;
location / {
# try_files $uri $uri/ =404;
proxy_pass http://localhost:8880;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
不带https-使用常规ip:端口,开放通过所有服务
如何进行api-one.tester.example.com配置等,以便它们也可以通过ssl打开?
我试图在子域配置(支持cloudflare的8443)中更改端口,但没有得到期望的结果
.....
listen 8443 ssl http2;
listen [::]:8443 ssl http2;
ssl on;
.....
答案 0 :(得分:0)
除非使用* .wildcard,否则通常必须在Cloudflare DNS设置中分别设置子域,但是我认为它们不再支持。
如果您希望Cloudflare路由https / ssl上的所有子域,则Cloudflare仪表板上的选项>加密> 始终使用HTTPS 。在这种情况下,如果您的域通过纯http访问,则会重定向到https。当然,这要求您的服务器设置为支持域的SSL(与Cloudflare无关),或者您正在Crypto> SSL设置下使用“ Flexible”,这允许Cloudflare通过https将网站提供给客户端,尽管数据从服务器到Cloudflare的服务都没有SSL。