2017-01-02 3 views
0

любая помощь будет оценена.Сервер отображает 404 при использовании https [nginx]

Я получил сертификат SSL от letencrypt и пытаюсь поддерживать HTTP и HTTPS для своего сервера. Сертификат хорош, но я получаю 404 при попытке получить доступ к моему сайту с помощью https. Вот мой файл конфигурации:

server { 
    server_name my.domain.org; 

    root /var/www/my.domain.org/htdocs; 
    index index.php index.html index.html; 

    server_name my.domain.org; 
    location/{ 
    try_files $uri $uri/ /index.php?$args; 
    } 

    # Add trailing slash to */wp-admin requests. 
    rewrite /wp-admin$ $scheme://$host$uri/ permanent; 

    location ~ \.php$ { 
    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini 

    # # With php5-cgi alone: 
    # fastcgi_pass 127.0.0.1:9000; 
    # With php5-fpm: 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index index.php; 
    include fastcgi_params; 
    } 

    location = /favicon.ico { 
    access_log off; 
    log_not_found off; 
    } 

    location = /robots.txt { 
    access_log off; 
    log_not_found off; 
    } 

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { 
    expires max; 
    log_not_found off; 
    } 
} 

server { 
    listen 443; 

    ssl on; 
    ssl_certificate /etc/letsencrypt/live/my.domain.org/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/my.domain.org/privkey.pem; 

    server_name my.domain.org; 
    access_log /var/log/nginx/nginx.vhost.access.log; 
    error_log /var/log/nginx/nginx.vhost.error.log; 

    location/{ 
    root /var/www/my.domain.org/htdocs; 
    index index.php index.html index.html; 
    } 
} 

ответ

0

Конфигурация для https не отличается от http.

Таким образом, просто скопировать ту же конфигурацию HTTP и добавьте Ssl конкретные детали:

# https 
server { 
    listen 443 ssl; 
    # for http2 support uncomment line bellow and comment line above 
    # listen 443 ssl http2; 

    ssl on; 
    ssl_certificate /etc/letsencrypt/live/my.domain.org/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/my.domain.org/privkey.pem; 

    server_name my.domain.org; 

    root /var/www/my.domain.org/htdocs; 
    index index.php index.html index.html; 

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

    rewrite /wp-admin$ $scheme://$host$uri/ permanent; 

    location ~ \.php$ { 
    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index index.php; 
    include fastcgi_params; 
    } 

    location = /favicon.ico { 
    access_log off; 
    log_not_found off; 
    } 

    location = /robots.txt { 
    access_log off; 
    log_not_found off; 
    } 

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { 
    expires max; 
    log_not_found off; 
    } 
} 

#http 
server { 
    listen 80; 
    root /var/www/my.domain.org/htdocs; 
    index index.php index.html index.html; 

    server_name my.domain.org; 
    location/{ 
    try_files $uri $uri/ /index.php?$args; 
    } 

    rewrite /wp-admin$ $scheme://$host$uri/ permanent; 

    location ~ \.php$ { 
    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index index.php; 
    include fastcgi_params; 
    } 

    location = /favicon.ico { 
    access_log off; 
    log_not_found off; 
    } 

    location = /robots.txt { 
    access_log off; 
    log_not_found off; 
    } 

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { 
    expires max; 
    log_not_found off; 
    } 
} 
+0

Спасибо, я ценю это. Еще один вопрос для разъяснения, то, что вы вставили здесь, будет моим полным файлом конфигурации? (Опуская другой сервер {} block) Или это просто заменит блок, который у меня есть для SSL прямо сейчас? – nginthrowaway

+0

@nginthrowaway Я обновил свой ответ Вы можете скопировать все – num8er

+1

Работали как шарм, спасибо огромное! – nginthrowaway

Смежные вопросы