我在EC2实例上运行了NGINX服务器,并且我在该服务器上实现了HTTPS。我在另一个站点上生成了SSL证书并将其放在我的服务器上。重新启动服务器,它仍然运行正常,但有两个问题(我的域名是hbesco.com.br,这是我为证书请求提供的通用名称):
它不会默认输入HTTPS,而是输入HTTP。另外,如果我强迫它https://hbesco.com.br,它就可以了。但对于https://www.hbesco.com.br,它会给我以下错误:
无法与对等方安全通信:请求的域名与服务器的证书不匹配。 HTTP严格传输安全:false HTTP公钥固定:false证书链:----- BEGIN CERTIFICATE -----(...)
我的NGINX网站 - 可用/默认设置如下:
server {
listen 443 default_server;
ssl on;
ssl_certificate /usr/share/nginx/certificado-2048/CertificadoSSL.crt;
ssl_certificate_key /usr/share/nginx/certificado-2048/CertificadoSSL.key;
server_name hbesco.com.br;
passenger_enabled on;
rails_env production;
root /home/ubuntu/hybrazil/current/public;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name hbesco.com.br;
passenger_enabled on;
rails_env production;
root /home/ubuntu/hybrazil/current/public;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
关于我输入" hbesco.com.br"它首先是http,为什么当它之前有www时,它会给我这个错误?
答案 0 :(得分:1)
它不会默认输入HTTPS,而是输入HTTP
您需要添加重写规则以强制将访问者从http重定向到https:
server {
listen 80;
server_name hbesco.com.br;
rewrite ^ https://$server_name$request_uri? permanent;
}
无法与对等方安全通信:请求的域名有 与服务器的证书不匹配。
这意味着证书中仅列出hbesco.com.br
。您可以使用任何ssl检查器进行检查。