Как и указано в заголовке.
Я нашел еще один полезный Вопрос / ответ , но он не показывает, как чтобы сделать это правильно в настройках Nginx, я имею в виду параметры
. Он может иметь в виду, что https://exmaple.com
должен иметь действующее рукопожатие, прежде чем его перенаправят на https://www.example.com
. В моем сценарии https://www.example.com
отлично работает, но https: example.com
не может быть перенаправлен на https: //www.example .com
.
server {
listen 80;
server_name example.com www.example.com;
rewrite ^ https://example.com$request_uri? permanent;
}
server {
listen 443;
server_name example.com;
ssl on;
# some other settings, correctly
}
Но при просмотре http://example.com
он перенаправляется на https://example.com
, но отображается в Chrome
This site can’t be reached
example.com unexpectedly closed the connection.
ERR_CONNECTION_CLOSED```
Я хочу перенаправить всех на https://example.com
, как?
- обновлено -
/var/log/nginx/access.log
показывает
"GET / HTTP/2.0" 301 216 "-"
без ошибок в /var/log/nginx/error.log
Большое спасибо !!!
Значит, вы хотите перенаправить весь трафик на https://www.example.com ?
Я думаю, вам не хватает ssl в listen 443 ssl ;
См. пример ниже
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /path/ssl.crt
other ssl config....
}
server {
listen 443 ssl;
server_name example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
Как это
# Redirect all variations to https://www domain
server {
listen 80;
access_log /var/log/nginx/hr.access.log main buffer=128k flush=60;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /var/lib/acme/certs/x/fullchain;
ssl_certificate_key /var/lib/acme/certs/x/privkey;
access_log /var/log/nginx/hr.access.log main buffer=128k flush=60;
# Set up preferred protocols and ciphers. TLS1.2 is required for HTTP/2
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;
# This is a cache for SSL connections
ssl_session_cache shared:SSL:2m;
ssl_session_timeout 60m;
return 301 https://example.com$request_uri;
}