Drupal, nginx, ssl и php - кошмар - PullRequest
       23

Drupal, nginx, ssl и php - кошмар

1 голос
/ 22 февраля 2011

Думаю, я тоже перейду пост в stackoverflow; Вот моя проблема:
Я установил ssl-сертификат на своем сервере, прочитал много и сделал все по-разному, но я не могу получить переменную $ _SERVER ['HTTPS']. Кто-нибудь, пожалуйста, помогите. Вот мой конфиг:

Сервер: Linode Ubuntu 8.02LTS nginx - последний создал vhost:

server {
            listen   443;
            server_name  www.buzzonstage.com;
            rewrite ^/(.*) https://buzzonstage.com/$1 permanent;
       }

server {
            listen   443;
            server_name buzzonstage.com;
            ssl on;
            ssl_certificate /usr/local/nginx/conf/buzzonstage.com.pem;
            ssl_certificate_key /usr/local/nginx/conf/buzzonstage.com.key;
            access_log /home/maksimize/public_html/buzzonstage.com/log/access.log;
            error_log /home/maksimize/public_html/buzzonstage.com/log/error.log;
            location /  {
                        root   /home/maksimize/public_html/buzzonstage.com/public/;
                        index  index.php index.html;
                        if (!-e $request_filename)
                        {
                        rewrite ^/(.*)$ /index.php?q=$1 last;
                        }
                        }
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            location ~ \.php$
                    {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /home/maksimize/public_html/buzzonstage.com/public/$fastcgi_script_name;
            fastcgi_param HTTPS on;
            }
       }

server {
            listen   80;
            server_name  www.buzzonstage.com;
            rewrite ^/(.*) http://buzzonstage.com/$1 permanent;
       }
server {
            listen   80;
            server_name buzzonstage.com;
            access_log /home/maksimize/public_html/buzzonstage.com/log/access.log;
            error_log /home/maksimize/public_html/buzzonstage.com/log/error.log;
            location /  {
                        root   /home/maksimize/public_html/buzzonstage.com/public/;
                        index  index.php index.html;
                        if (!-e $request_filename)
                        {
                        rewrite ^/(.*)$ /index.php?q=$1 last;
                        }
                        }
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            location ~ \.php$
                    {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include /usr/local/nginx/conf/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME /home/maksimize/public_html/buzzonstage.com/public/$fastcgi_script_name;

Проверка от digicert возвращается точной, но я получаю сообщение о том, что некоторая информация может быть небезопасной - я понимаю, что это так из-за различных ссылок на незащищенные страницы на сайте. Phpinfo показывает зеленый https;

Но для работы определенного модуля drupal - securepages - мне нужно показать эту переменную в массиве $ _SERVER. Может кто-нибудь помочь, пожалуйста?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 февраля 2011

Этот модуль Twitter нарушает SSL.Измените его так, чтобы он проходил только через SSL (требуется переписать виджет, чтобы он загружался локально, да, это возможно), и все должно работать.

0 голосов
/ 22 февраля 2011
The phpinfo shows up green https;

Это хорошо. Потому что phpinfo работает с переменной $ _SERVER ['HTTPS']. И это определенно определено.

but I get a message saying that some info may not be secure
But in order for a certain drupal module to work - securepages
I need to be able to show a that variable in the $_SERVER array.

Хм, может эти модули пытаются работать без https? Например через AJAX? И где они получают ответ, HTTPS не определяется. Попробуйте проверить это, добавив fastcgi_param HTTPS on; в раздел NON https вашей конфигурации. Я думаю, что все начнет работать. Но очевидно, что это обман ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...