Я управляю маленьким глупым веб-сайтом около двух лет: mtgpilot.com
Сайт работал нормально, пока не истек срок действия нескольких сертификатов. Я решил создать новый экземпляр AWS Lightsail и заново настроить сайт. Я выполнил все те же шаги, что и при первом создании сайта, за исключением того, что теперь у меня получается 20-секундный тайм-аут всякий раз, когда я пытаюсь отправить сообщение или получить запрос на сервер.
Стек использует Angular (код здесь ) и Spring Boot (код здесь ). Моя конфигурация nginx выглядит следующим образом:
# HTTP server
server {
listen 80;
server_name www.mtgpilot.com;
location / {
# First attempt to serve request as file, then
# as directory, then redirect to index(angular) if no file found.
try_files $uri $uri/ /index.html;
}
# redirects both www and non-www to https
return 301 https://mtgpilot.com$request_uri;
include "/opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf";
include "/opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf";
}
server {
listen 80;
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then redirect to index(angular) if no file found.
try_files $uri $uri/ /index.html;
}
# redirects both www and non-www to https
return 301 https://mtgpilot.com$request_uri;
include "/opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf";
include "/opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf";
}
# HTTPS server
server {
location / {
try_files $uri $uri/ /index.html;
}
listen 443 ssl;
server_name localhost;
if ($host != "mtgpilot.com") {
return 301 https://mtgpilot.com$request_uri;
}
ssl_certificate server.crt;
ssl_certificate_key server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
include "/opt/bitnami/nginx/conf/bitnami/phpfastcgi.conf";
include "/opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf";
}
include "/opt/bitnami/nginx/conf/bitnami/bitnami-apps-vhosts.conf";
Я создал свой сертификат с помощью letsencrypt. Nginx указывает на них на основе данного руководства . Мой бэкэнд настроен так, чтобы указывать на тот же сертификат, который я также добавил в хранилище ключей java.
Я пробовал все возможные комбинации конфигураций, которые я мог придумать. Мой стек - довольно стандартный вариант использования, поэтому должны быть какие-то соответствующие ресурсы, которые я могу использовать. Мне кажется, я потратил кучу часов работы из-за того, что какая-то простая конфигурация неверна.
Даже переключение на http для внутреннего вызова завершается неудачно с ответом http: отказ для 0 неизвестной ошибки.
Я также думал, что это может быть ошибка CORS, но у меня была исправлена эта проблема до .
Любая помощь приветствуется. Сайт сейчас работает, и я связал весь соответствующий код, чтобы разрешить обратный инжиниринг.