我正在尝试使用SSLencryption我的网站。 我创build了一个自签名证书(在此期间),并试图将其集成到我的nginx服务器中。
我把证书放在主要的nginx.conf文件中,因为我有多个域(dev和beta)。
# SSL ssl_certificate /srv/ssl/nginx.pem; ssl_certificate_key /srv/ssl/nginx.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m;
在server块中,我有以下几点:
+server { + listen 80; + server_name dev.DOMAIN.com; + + location / { + rewrite ^ https://$server_name$request_uri permanent; + } +} server { + listen 443 ssl; server_name dev.DOMAIN.com; access_log /var/www/dev/logs/access.log; error_log /var/www/dev/logs/error.log; root /var/www/dev/public_html; + keepalive_timeout 70; location / { index index.html index.htm index.php; } // [.. A couple other rewrite statements here ..] }
我为我的testing版本做了与server块相同的更改,但在开发版本中工作时,我在testing版本上收到Connection Refused错误。
我已经validation,dev和beta文件是相同的(除了子域)。
两个版本上的代码也是一样的。 错误日志和访问日志都不显示任何条目。
我真的不知道下一步去哪里…!
注意:答案专门针对我的问题。 如果您遇到类似问题,请阅读原始问题的评论,因为它们可能更相关
事实certificate,CloudFlare会干扰SSL网站,除非它们被专门configuration为这样。 对于我而言, dev子域名被设置为完全绕过CloudFlarenetworking,而beta则“加速”,导致IP转移到CloudFlare的IP。
如果您创build一个名为“ssl”的子域,Cloudflare的确为免费账户提供SSL支持。 进一步的支持需要专业版(〜$ 20 /月)。