Перенаправление SSL Nginx HTTPS не работает в Ubuntu 18.04 - PullRequest
0 голосов
/ 13 июня 2019

Я устал настраивать сервер Nginx с SSL, но сайт не открыт, но с https:// он работает нормально.

Вот моя конфигурация Nginx:

# Default server configuration
#
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    client_max_body_size 20M;

    root /var/www/mysite.in/site;

    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm;

    server_name _;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # pass PHP scripts to FastCGI server
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
    }

    listen 443;
    listen [::]:443;

    server_name www.mysite.com;

    #ssl on;
    ssl_certificate /etc/nginx/ssl/mysite.com.chained.crt;
    ssl_certificate_key /etc/nginx/ssl/main_private.key;
}

SSL был создан в GoDaddy, я нашел много решений, но пока ни одно из них не работает.

Как я могу устранить эту ошибку?

1 Ответ

0 голосов
/ 14 июня 2019

Вы должны создать два сервера (http и https) в вашей конфигурации и создать перенаправление с http на https:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name www.mysite.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    listen [::]:443;

    server_name www.mysite.com;   

    client_max_body_size 20M;

    root /var/www/mysite.in/site;

    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm;

    server_name _;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # pass PHP scripts to FastCGI server
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
    }

    ssl on;
    ssl_certificate /etc/nginx/ssl/mysite.com.chained.crt;
    ssl_certificate_key /etc/nginx/ssl/main_private.key;
}
...