Настройка и обсуждение SSL в XenForo

X-Xen

Проверенные
Сообщения
233
Реакции
407
Баллы
11,070
Хочу создать такую тему, в этой теме можно выкладывать конфиги, настройку самого движка, а также отзывы и обсуждения нужен-ли SSL на форумах и т.д.

Вот начну, кофиг nginx скачанный с офф. сайта:

Код:
server {
  listen  80;
  server_name  example.com *.example.com;
  rewrite  ^ https://$server_name$request_uri? permanent;
  server_tokens off;
}
server {
  listen 443;
  server_name example.com *.example.com;
  server_tokens off;
  ssl on;
  ssl_certificate /usr/local/etc/nginx/ssl/example.com.crt;
  ssl_certificate_key /usr/local/etc/nginx/ssl/example.com.key.nopass;
  access_log /var/log/nginx/example.com.access_log;
  error_log /var/log/nginx/example.com.error_log;
  root /var/www/example.com/public_html;
  index index.php index.html;

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

  # NOTE: if XenForo is installed under a directory, replace /index.php?$uri&$args with /directory/index.php?$uri&$args
  location  = /admin.php { 
  auth_basic "Administrator Login";
  auth_basic_user_file /path/to/htpasswd;
  try_files $uri =404;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php; fastcgi_param HTTPS on;
  fastcgi_param HTTP_SCHEME https;
  include fastcgi_params;
}

  location ~ /(internal_data|library) {
  internal;
  }

  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;
  fastcgi_param  HTTPS  on;
  fastcgi_param  HTTP_SCHEME https;
  include fastcgi_params;
  }
  # deny access to .htaccess files, if Apache's document root
  # concurs with nginx's one
  #
  location ~ /\.ht {
  deny all;
  }

  # If you run Munin this is the config (except CGI).

  location /munin/static/ {
      alias /etc/munin/static/;
    expires modified +1w;
  }

  location /munin/ {
      auth_basic  "Restricted";
      # Create the htpasswd file with the htpasswd tool.
    auth_basic_user_file  /etc/nginx/htpasswd;
    alias /var/cache/munin/www/;
    expires modified +310s;
  }
}

Данный конфиг для тех у кого nginxфронтенд, apache — бэкенд !

Ну и очень хочется узнать мнение пользователей этого ресурса, нужен-ли вообще SSL на форумах !
 
винии, проще так будет: у вас хостинг или сервер? Если второе, то какая панель управления?
у меня облачный vps/vds и панель ISP

Веб-сервер (WWW)

Apache MPM-ITK 2.2.15-54.el6.centos , Apache PHP module 5.3.3-48.el6_8 , awstats 7.0-3.el6 , logrotate 3.7.8-17.el6 , nginx 1.10.1-1.el6.ngx рекомендуемый
 
у меня никогда не было isp. В настройках покопайся и включи apache2+nginx и ssl прикрути на последнее.
Если через панель не получится, то вот примерный конфиг для тебя будет:

Код:
server {
    listen      IP сервера:443;
    server_name твойДомен www.твойДомен;
 
    root        /home/admin/web/твойДомен/public_html;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/твойДомен.log combined;
    access_log  /var/log/nginx/domains/твойДомен.bytes bytes;
    error_log   /var/log/nginx/domains/твойДомен.error.log error;

    ssl         on;
    ssl_certificate      /home/admin/conf/web/ssl.твойДомен.pem;
    ssl_certificate_key  /home/admin/conf/web/ssl.твойДомен.key;

    location / {
        try_files $uri $uri/ /index.php?$uri&$args;
        location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
            expires     max;
        }

        location ~ [^/]\.php(/|$) {
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            if (!-f $document_root$fastcgi_script_name) {
                return  404;
            }

            fastcgi_pass    127.0.0.1:9004;
            fastcgi_index   index.php;
            include         /etc/nginx/fastcgi_params;
        }
    }

    error_page  403 /error/404.html;
    error_page  404 /error/404.html;
    error_page  500 502 503 504 /error/50x.html;

    location /error/ {
        alias   /home/admin/web/твойДомен/document_errors/;
    }

    location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
    }

    location /vstats/ {
        alias   /home/admin/web/твойДомен/stats/;
        include /home/admin/web/твойДомен/stats/auth.conf*;
    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phppgadmin.inc*;
    include     /etc/nginx/conf.d/webmail.inc*;

    include     /home/admin/conf/web/snginx.твойДомен.conf*;
}

Это только пример, на него не нужно 1 в 1 ориентироваться. Как вариант еще, у тебя заблокирована Европа.
проверься сейчас. ip и домен
 
у меня никогда не было isp. В настройках покопайся и включи apache2+nginx и ssl прикрути на последнее.
Если через панель не получится, то вот примерный конфиг для тебя будет:

Код:
server {
    listen      IP сервера:443;
    server_name твойДомен www.твойДомен;
 
    root        /home/admin/web/твойДомен/public_html;
    index       index.php index.html index.htm;
    access_log  /var/log/nginx/domains/твойДомен.log combined;
    access_log  /var/log/nginx/domains/твойДомен.bytes bytes;
    error_log   /var/log/nginx/domains/твойДомен.error.log error;

    ssl         on;
    ssl_certificate      /home/admin/conf/web/ssl.твойДомен.pem;
    ssl_certificate_key  /home/admin/conf/web/ssl.твойДомен.key;

    location / {
        try_files $uri $uri/ /index.php?$uri&$args;
        location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
            expires     max;
        }

        location ~ [^/]\.php(/|$) {
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            if (!-f $document_root$fastcgi_script_name) {
                return  404;
            }

            fastcgi_pass    127.0.0.1:9004;
            fastcgi_index   index.php;
            include         /etc/nginx/fastcgi_params;
        }
    }

    error_page  403 /error/404.html;
    error_page  404 /error/404.html;
    error_page  500 502 503 504 /error/50x.html;

    location /error/ {
        alias   /home/admin/web/твойДомен/document_errors/;
    }

    location ~* "/\.(htaccess|htpasswd)$" {
        deny    all;
        return  404;
    }

    location /vstats/ {
        alias   /home/admin/web/твойДомен/stats/;
        include /home/admin/web/твойДомен/stats/auth.conf*;
    }

    include     /etc/nginx/conf.d/phpmyadmin.inc*;
    include     /etc/nginx/conf.d/phppgadmin.inc*;
    include     /etc/nginx/conf.d/webmail.inc*;

    include     /home/admin/conf/web/snginx.твойДомен.conf*;
}

Это только пример, на него не нужно 1 в 1 ориентироваться. Как вариант еще, у тебя заблокирована Европа.
проверься сейчас. ip и домен
дело не в сервере, хост пишет типа где-то зацепка в самом xenforo

в админке все хорошо работает, а вот на сайте самом не фига(( удалил вообще ее favicon.ico


Дело не в настройках сервера, так как в остальных браузерах сайт отображается корректно и проверки сторонним сервисом также на это указывают.
Дело в том, что браузер Tor определяет на Вашем сайте смешанный контент из за чего и показывает не защищенное соединения, при этом у всех остальных браузерах подобной ошибки не наблюдается.
Если же проверить код страницы, то видно что иконка сайта https//сайт/favicon.ico загружается по протоколу HTTP, от сюда и вся причина некорреткно отображения в браузере Tor.
Пожалуйста , переведите иконку сайта на протокол https.
Спасибо.
 
Вы так форум не показали, а как нам было определить причину, и по дефолту favicon, грузится как нужно, значит проблема или в стиле, или дополнении, при помощи которого Вы выводите favicon.
 
  • Мне нравится
Реакции: Hope
Вы так форум не показали, а как нам было определить причину, и по дефолту favicon, грузится как нужно, значит проблема или в стиле, или дополнении, при помощи которого Вы выводите favicon.
в ЛС только могу скинуть ссылку
 
Всё, поправил, кто-то у Вас залез в Мастер-стиль и добавил код для вывода favicon.
Привёл к такому виду.
Код:
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
 
  • Мне нравится
Реакции: Hope
Поделитесь пожалуйста рабочим конфигом для nginx + php7.0-fpm

Код:
server {
    listen 80;
    server_name mysite.com www.mysite.com;

    return 301 https://$host$request_uri;
}

server {
        server_name mysite.com www.mysite.com;
        root /home/web/public_html/mysite.com;
        index index.php index.html;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;

        error_log /var/log/nginx/mysite.error.log;
        access_log /var/log/nginx/mysite.access.log;

        #xenforo needs
        location / {
                try_files $uri $uri/ /index.php?$uri&$args;
        }

        location /install/data/ {
                internal;
        }
        location /install/templates/ {
                internal;
        }
        location /internal_data/ {
                internal;
        }
        location /install/data/ {
                internal;
        }
        location /install/templates/ {
                internal;
        }
        location /internal_data/ {
                internal;
        }
        location /library/ {
                internal;
        }

        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            include snippets/fastcgi-php.conf;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
        location ~* "/\.(htaccess|htpasswd)$" {
                deny    all;
                return  404;
        }

    listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

P.S Разумеется везде вместо "mysite.com" указан мой домен.
Данного конфига достаточно? Или что-то нужно добавить?
.htaccess я удалил. Форум на текущий момент работает.

Спасибо!
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу