Ответить Новая тема Новый опрос 
 Настройка nginx+apache+https
stojachkov
Новичок
Сообщений: 55
Регистрация: 18-05-2011


05-12-2015 18:22
Добрый день!
Столкнулся с необходимостью настроить SSL на сервере.

Конфиг etc/nginx/sites-available

Код:
server {
listen 80;
server_name example.ru;
access_log /var/log/example.ru/nginx_access.log;
error_log /var/log/example.ru/nginx_error.log;
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
root /var/www/example.ru/;
index index.html;
access_log off;
expires 30d;
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
       rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2$3.jpg last;
       rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
       rewrite ^/c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2$3.jpg last;
       rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
       rewrite ^/images_ie/?([^/]+)\.(jpe?g|png|gif)$ /js/jquery/plugins/fancybox/images/$1.$2 last;
       error_page 404 /index.html?controller=404;
}


location ~ /\.ht {
deny all;
}

location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 9000;
proxy_read_timeout 9000;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}


Добавил вот эту секцию, но возникают ошибки.
Код:
server {
listen 443;
server_name example.ru;

    ssl    on;
    ssl_certificate         /etc/ssl/example.ru/example_ru.crt;
        ssl_certificate_key     /etc/ssl/example.ru/example_ru.key;

access_log /var/log/example.ru/nginx_access.log;
error_log /var/log/example.ru/nginx_error.log;
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
root /var/www/example.ru/;
index index.html;
access_log off;
expires 30d;
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
       rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2$3.jpg last;
       rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
       rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
       rewrite ^/c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2$3.jpg last;
       rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last;
       rewrite ^/images_ie/?([^/]+)\.(jpe?g|png|gif)$ /js/jquery/plugins/fancybox/images/$1.$2 last;
       error_page 404 /index.html?controller=404;
}


location ~ /\.ht {
deny all;
}

location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 9000;
proxy_read_timeout 9000;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}


Mixed Content: The page at 'https://example.ru/quick-order?live_configurator_token=f0b50901d965de8121a0b8a277dce9e3&id_shop=1&id_employee=3&theme=&theme_font=' was loaded over HTTPS, but requested an insecure stylesheet 'http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800'. This request has been blocked; the content must be served over HTTPS.
quick-order:1 Mixed Content: The page at 'https://example.ru/quick-order?live_configurator_token=f0b50901d965de8121a0b8a277dce9e3&id_shop=1&id_employee=3&theme=&theme_font=' was loaded over HTTPS, but requested an insecure stylesheet 'http://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic'. This request has been blocked; the content must be served over HTTPS.
quick-order:129 Mixed Content: The page at 'https://example.ru/quick-order?live_configurator_token=f0b50901d965de8121a0b8a277dce9e3&id_shop=1&id_employee=3&theme=&theme_font=' was loaded over HTTPS, but requested an insecure stylesheet 'http://fonts.googleapis.com/css?family=Open+Sans:300,600&subset=latin,latin-ext,cyrillic-ext'. This request has been blocked; the content must be served over HTTPS.

Для Apacha надо в настраивать что-то для SSL?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
stojachkov
Новичок
Сообщений: 55
Регистрация: 18-05-2011


16-03-2016 01:54
Проблему решил, необходимо было добавить
Код:
if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
admmatrix
Cпециалист
Сообщений: 144
Откуда: Москва
Регистрация: 12-08-2011


22-03-2016 15:15
Цитата:( stojachkov @ 16-03-2016 02:54 Смотреть сообщение )
Проблему решил, необходимо было добавить
Код:
if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}


При переезде на https тоже пришлось это использовать. Но и без этого все корректно работало, единственное почему пришлось это поставить - при первом обращении к главной странице ( а может и не только к главной, не помню уже )
не было переадресации на https.

Лучше использовать:
Код:
if ($scheme = "http") {
                return 301 https://$server_name$request_uri;
        }


А может и не лучше?) Надо комментарии


Сообщение отредактировал admmatrix (22-03-2016 16:15)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
stojachkov
Новичок
Сообщений: 55
Регистрация: 18-05-2011


22-03-2016 20:56
Цитата:( admmatrix @ 22-03-2016 16:15 Смотреть сообщение )
Цитата:( stojachkov @ 16-03-2016 02:54 Смотреть сообщение )
Проблему решил, необходимо было добавить
Код:
if ( $scheme = "http" ) {
rewrite ^/(.*)$ https://$host/$1 permanent;
}

При переезде на https тоже пришлось это использовать. Но и без этого все корректно работало, единственное почему пришлось это поставить - при первом обращении к главной странице ( а может и не только к главной, не помню уже )
не было переадресации на https.

Лучше использовать:
Код:
if ($scheme = "http") {
                return 301 https://$server_name$request_uri;
        }


А может и не лучше?) Надо комментарии


Добрый день, попробую посмотреть на тестовом магазине, спасибо.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос