【发布时间】:2016-05-10 15:38:12
【问题描述】:
我正在尝试设置 NGINX 和 cloudflare。 我在 Google 上读到过这方面的内容,但没有解决我的问题。我的 cloudflare 目前处于活动状态。我删除了 cloudflare 中的所有页面规则,但之前有 domain.com 和 www.domain.com 使用 HTTPS。我认为这可能会导致问题,所以我将其删除。这是我的defaultNGINX文件,目的是只允许通过域名访问,禁止通过网站的IP值访问:
server{
#REDIRECT HTTP TO HTTPS
listen 80 default;
listen [::]:80 default ipv6only=on; ## listen for ipv6
rewrite ^ https://$host$request_uri? permanent;
}
server{
#REDIRECT IP HTTPS TO DOMAIN HTTPS
listen 443;
server_name numeric_ip;
rewrite ^ https://www.domain.com;
}
server{
#REDIRECT IP HTTP TO DOMAIN HTTPS
listen 80;
server_name numeric_ip;
rewrite ^ https://www.domain.com;
}
server {
listen 443 ssl;
server_name www.domain.com domain.com;
#rewrite ^ https://$host$request_uri? permanent;
keepalive_timeout 70;
ssl_certificate /ssl/is/working.crt;
ssl_certificate_key /ssl/is/working.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
#ssl_dhparam /path/to/dhparam.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM$
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security max-age=15768000;
(...) more ssl configs
可能有什么问题?如果需要,我会提供 mroe 信息...
【问题讨论】:
-
Cloudflare 有不同的 SSL 模式 - 灵活、严格等 - 您是否尝试更改这些模式?另外,你能显示 curl -I domain.com 的输出吗?
-
@DenisMysenko 我得到了 301。我想我更改了 cloudflare 中的 ssl 选项,是的...我启用了 HSTS,但也禁用了它,以为它可能导致问题,但它仍然没有工作。我运行了所有 ssl 模式,仍然失败。我究竟会错过什么?
-
@DenisMysenko 不知道,丹尼斯?
-
好吧,你还没有显示 curl -I :)) HTTP 状态码是不够的
-
@DenisMysenko 它以 html 格式在控制台中以文本文件的形式显示我的 301 页面...
标签: redirect nginx cloudflare