我尝试将子域名指向不同服务器上的不同 IP 地址,但出于某种原因,它只是偶尔有效(比如说 20 次中有 1 次)。浏览 http//galera.domain.com 会抛出“响应时间过长”错误,并将 URL 更改为 https//galera.domain.com。直接浏览 IP 地址始终可以正常工作。
这是我当前的设置:
服务器 1 (nginx):
IP_ADDRESS_1。
已启用 HSTS [严格传输安全 (max-age=63072000; includeSubdomains)]
domain.com / www.domain.com 的 DNS 指向 IP_ADDRESS_1
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name domain.com www.domain.com;
return 301 https://$server_name$request_uri;
}
server {
# SSL configuration
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
include snippets/ssl-domain.com.conf;
include snippets/ssl-params.conf;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name domain.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
这是服务器 1 的 /etc/nginx/snippets/ssl-params.conf 文件:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 10s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
服务器 2(galera 集群 #1,phpmyadmin 在 apache 上运行): galera.domain.com 的
IP_ADDRESS_2
DNS 指向 IP_ADDRESS_2
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName galera.domain.com
DocumentRoot /usr/share/phpmyadmin
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
希望大家能够帮助阐明这个最有可能简单的问题。
编辑:在 domain.com 上启用了 HSTS [严格传输安全(max-age=63072000;includeSubdomains)]
编辑 2:添加了 /etc/nginx/snippets/ssl-params.conf 的代码
编辑 3:已解决。HSTS 阻止加载子域中的不安全内容。通过在 galera.domain.com 上安装 SSL 证书并使用与 domain.com 相同的协议(包括 HSTS)来修复
答案1
您需要与设置域安全策略的人员进行协调。此域已选择使用严格的传输安全性,在协调之前,您甚至不应该被允许创建用于 Web 服务器的子域。