Ответ 1
Удалите директиву ssl on;
.
ssl
флаг в listen
- это именно то, что вам нужно.
См. http://nginx.org/en/docs/http/configuring_https_servers.html#single_http_https_server
У меня есть файл конфигурации с настройкой виртуального сервера, это работает на порту 443 для ssl. Мне также хотелось бы, чтобы этот тот же самый виртуальный сервер обрабатывал не ssl-трафик на порту 80.
Я надеялся сделать следующее, но, похоже, это не работает.
server {
listen 443 ssl;
listen 80;
server_name example.com;
...
}
Похоже, что параметры ssl ниже этих настроек вызывают проблемы для трафика non ssl.
Удалите директиву ssl on;
.
ssl
флаг в listen
- это именно то, что вам нужно.
См. http://nginx.org/en/docs/http/configuring_https_servers.html#single_http_https_server
Да, конечно.
server {
listen 80;
listen 443 ssl;
# force https-redirects
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
}
Вот мой пост, имя "Конфигурация Nginx для HTTPS", который содержит больше информации.