Nginx
CloudFlare 在沒有 HTTPS 的情況下給出錯誤 522
按照我在評論中連結的教程,我已經在我的伺服器上設置了 Let’s Encrypt(使用 nginx)。我還使用以下 DNS 設置設置了 CloudFlare:
http://i.imgur.com/Z7PRD6l.png
我的 nginx 配置如下所示:
server { listen 80; server_name example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; root /usr/share/nginx/html/public; index index.php index.html index.htm; server_name example.com www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; location / { try_files $uri $uri/ /index.php$is_args$args; } location ^~ /.well-known/ { allow all; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
如果我去
https://www.example.com
,該網站載入正常。但是當我去http://www.example.com
(不是 HTTPS)時,它顯示錯誤 522:http://i.imgur.com/JWBEd5S.png
怎麼了?我該如何解決?為什麼我的重定向不起作用?
你讀過CloudFlare 的 522 連接超時指南嗎?您是否將 SSL 設置為“完整 SSL”?對我來說,這在頁面規則之內,但可能有一個全域設置。
檢查 ec2 的入站防火牆規則 - 確保埠 80 / 443 已公開。