Я не получаю ошибки при установке сертификата ssl, но https не работает! Я использую сервер nginx под Ubuntu 18.04 linux

Мой ssl файл находится под nginx /etc/nginx/ssl/default

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    listen 443 ssl;
    listen [::]:443;

    server_name domain.com;

    ssl_certificate /etc/nginx/ssl/domain.com.chained.crt;
    ssl_certificate_key /etc/nginx/ssl/perm_with_key.pem;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name _; 

    location / {
       # First attempt to serve request as file, then
       # as directory, then fall back to displaying a 404.

       #try_files $uri $uri/ =404;

        proxy_pass http://localhost:8080;
            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_connect_timeout 400000;
            proxy_send_timeout 400000;
            proxy_read_timeout 400000;
            send_timeout 400000;

    proxy_hide_header X-Frame-Options;
    add_header X-XSS-Protection "1; mode=block"; 
    add_header X-Content-Type-Options nosniff;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
   }
   }

Я не знаю, что мне здесь не хватает. Я получил сертификат SSL от godaddy.

Может ли кто-нибудь дать мне решение. Благодарю.

1 ответ

Вам нужны отдельные серверные блоки для 80 и 443:

server {                                                                                                                                                                
  listen 80 default_server;
  server_name _;
  access_log off;                                                                                                                                             
  return 301 https://$host$request_uri;                                                                                                                               
}                                                                                                                                                                   

server {                                                                                                                                                                                                                                                
  listen 443 ssl default_server;
  server_name domain.com _;                                                                                                                  
  <Put the rest of your existing stuff here with only one server_name directive>                                                                                
}                                                                                                                                                                   

Это перенаправит все входящее с 80 на 443

У Nginx отличная документация. Добавьте в закладки:

https://www.nginx.com/resources/wiki/start/

Другие вопросы по тегам