Назад | Перейти на главную страницу

Конфигурация SSL nginx хорошо работает с http, но не с https

Я использую nginx (nginx / 1.10.0) в качестве моего веб-сервера за AWS ELB с drupal 7, а проблема с php7.1 - http: // url работает нормально, но тот же сайт с https: // url обслуживает только компоненты https страницы, а не компоненты, отличные от https, такие как css и т. д.

и завершение ssl происходит на стороне AWS ELB

это моя конфигурация nginx

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  listen 443 ssl http2 default_server;
  listen [::]:443 ssl http2 default_server;

  server_name site_url;


  root /var/www/html/smb;
  index index.php index.html index.htm ;


  error_page 404 = @smb;

  location @smb {
     rewrite ^(.*)$ /index.php?q=$1 last;


  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.1-fpm.sock;
  }

  location ~ /\.ht {
    deny all;
  }
}

Если на стороне AWS ELB происходит завершение ssl, почему вы все еще используете порт 443? В этом нет необходимости, вы можете использовать только порт 80 для обработки всех запросов, потому что вам не нужен SSL.

И, как @HBruijn сказал, у вас проблема с вашим приложением, а не с nginx. Похоже, есть жестко запрограммированные URL-адреса с http: // для css и т. Д. Вы должны проверить свой код и исправить его.