#ubuntu #nginx #pm2
#ubuntu #nginx #pm2
Вопрос:
К сожалению, я не могу заставить это перенаправление HTTP на HTTPS работать. Я размещаю веб-приложение и запускаю его с PM2, при этом nginx действует как обратный прокси. У меня нет проблем, когда у меня есть мое местоположение / блок внутри блока прослушивания 80, но после использования letsencrypt certbot сайт просто не загружается. Я не получаю ошибок в /var/log/nginx/errors.log, но также нет записей о доступе в /var/log/nginx/access.log . Проверка синтаксиса Nginx пройдена. Когда я смотрю на вкладку Chrome network, она просто показывает перенаправление 301 и что заголовки являются предварительными. У меня есть порты 80 и 443, а nginx полностью открыт на ufw, используя ubuntu 20.04. Чего мне здесь не хватает? Прикрепленные мои сайты — доступны ниже, и у меня есть рабочая символическая ссылка на включенные сайты.
server {
listen 80;
listen [::]:80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/www.example.com/chain.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_pass http://localhost:3000;
}
}
Комментарии:
1. что происходит, когда вы получаете доступ
http://www.example.com
иhttp://example.com
2. Страница @ThanhNguyenVan была полностью пустой, просто попыталась загрузиться, а затем, в конечном итоге, истекла. В итоге на облачном сервере Google был внешний брандмауэр, который блокировал порт, у меня не было доступа к порталу, поскольку сервер был предоставлен моим работодателем. Однако в приведенной выше конфигурации nginx не было ничего плохого, поэтому я продолжу публикацию на случай, если кому-нибудь понадобится увидеть пример этого 🙂
Ответ №1:
Виртуальный сервер, на котором я запускал это, был облачным сервером Google, предоставленным моим работодателем, в итоге я предположил, что порт 443 был заблокирован брандмауэром GCS, и это было правильно. Вот инструкции по настройке этого брандмауэра: https://cloud.google.com/vpc/docs/using-firewalls