• Большое количество сайтов на nginx?

    server {
        server_name   ~^(www\.)?(?<domain>.+)$;
        location / {
            root   /sites/$domain;
        }
    }
  • Как програмно организовать Saas (облачный сервис)?

    Какое еще централизованное ядро. Это же Битрикс, он останавливает деятельность только тех инстансов, которые обновляются на новую версию не дожидаясь хотфиксов.
  • Обозначение www устарело?

    SyavaSyava: так и наличие www - тоже удобство, потому, что на этом же домене есть еще один веб-сервис, например intranet, и пользователи должны точно знать, куда они попадут с www.
  • Удаление тысяч страниц с сайта. Не повредит?

    Поясните пожалуйста, в каком разделе там бесполезные страницы? Постоянный редирект -301 код ответа.
  • Микроразметка scheme.org как указывать филиалы компании?

    Yuriy: да, суборганизация это свойство организации. Еще обратите внимание на schema.org/LocalBusiness , может подойдет для вашего бизнеса.
  • Микроразметка scheme.org как указывать филиалы компании?

    1 В примере заменить sponsor на suborganization
    <p itemscope itemprop="organization" itemtype="http://schema.org/Organization">
      <a href="http://npr.org" itemprop="url">
        <span itemprop="name">National Public Radio</span></a> has a sponsor:
            <span itemprop="sponsor" itemscope itemtype="http://schema.org/Organization">
              <a itemprop="url" href="http://www.example.com/GloboCorp">
              <span itemprop="name">GloboCorp</span></a>
            </span>.
    </p>

    2. schema.org/ContactPoint - является свойством организации, у которого и задаются часы работы
  • Как добавлять комментарии к таскам в redmine?

    Дмитрий: ну это может в переводе получились заметки, а так - это комментарии, замечания и вопросы, с помощью которых происходит общение участников задачи.
  • Как хранить данные банковских карт?

    Damir1988: что такое вывод средств? - это операция перевода денежных средств с одного счета (счет учета своих денег) на другой (счет учета денег второго лица). Для операции перевода необходимо, чтобы принимающая средства сторона (банк) смогла однозначно идентифицировать получателя платежа. Для этого вы указываете в поле "Получатель платежа" его платежные реквизиты: реквизиты его счета в банке или просто номер карты (к которой привязан расчетный счет). Т.е. в вашем случае, вы храните и обрабатываете именно платежные реквизиты (банковский счет получателя или номер его карты). Хранят реквизиты карты для возможности авторизации операций списания средств с карты (чего вы делать не будете).
    Так как вы что-то будете кому-то платить, то у этих лиц появится доход и с этого дохода кто-то должен платить налоги (работодатель или сам выгодопреобретатель, зависит от договора между ними). Т.е. как только вы с юрлица заплатите физлицу и у вас с физлицом нет договорных отношений - то ой, всё.
  • Простая кластерезация для выделенных серверов NGINX?

    Владимир Ревякин: балансировщику все равно куда слать запросы. Без конфига балансировика не разобраться. Но подозреваю, что просто запросы все еще идут по старому маршруту.
  • Так где же все-таки настраивать: nginx.conf, conf.d, sites-available или sites-enabled?

    account-4: просто у них руководсво администратора только на английском почему-то. Когда ставите последние версии nginx - там уже давно нет таких директорий. Возможно, так изначально делали для совместимости с конфигами Апачи. Платная версия отличается от бесплатной дополнительным функционалом.
  • Как настроить список задач в Redmine?

    dashagula: а вместо него стоит Unread Issues - гораздо больше толка.
  • Как запускать php на дата-контейнере Jelastic?

    prolis
    @prolis Автор вопроса
    rPman: А у кого получилось "из коробки" мигрировать из /var/www в /mnt/www?
  • Как запускать php на дата-контейнере Jelastic?

    prolis
    @prolis Автор вопроса
    Код ошибки я взял из лога первый попавшийся с /mnt, во время тестов правильный путь писался
  • Как повесить событие на клик google analytics?

    Подождите около суток, статистика не в реальном времени собирается
  • Как удалить поддержку SSLv3?

    prolis
    @prolis Автор вопроса
    VasiliyIsaichkin: не нашел, как тут в личку писать. На моем конфиге пришлось перенести в секцию http:
    ssl_session_cache shared:SSL:50m; - иначе пропадало кеширование
    ssl_protocols TLSv1.2 TLSv1.1 TLSv1; - не пропадала поддержка SSLv3
    -хотя нигде больше в конфигах эти параметры не переопределялись. Nginx 1.6.2
  • Как удалить поддержку SSLv3?

    prolis
    @prolis Автор вопроса
    Power: тут выше выяснили, что надо перенести настройку в протоколов в раздел http
  • Как удалить поддержку SSLv3?

    prolis
    @prolis Автор вопроса
    Назар Мокринский: а вот это помогло, все тесты проходят, SSLv3 закрыт, спасибо!
  • Как удалить поддержку SSLv3?

    prolis
    @prolis Автор вопроса
    Power: nginx.conf
    # For more information on configuration, see:
    #   * Official English Documentation: http://nginx.org/en/docs/
    #   * Official Russian Documentation: http://nginx.org/ru/docs/
    
    user  nginx;
    worker_processes  1;
    
    error_log  /var/log/nginx/error.log crit;
    #error_log  /var/log/nginx/error.log  notice;
    #error_log  /var/log/nginx/error.log  info;
    
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile       on;
        tcp_nopush     on;
        keepalive_timeout  15;
        keepalive_requests 1000;
        reset_timedout_connection on;
        client_body_timeout 12;
        client_header_timeout 12;
        client_max_body_size 1m;
        send_timeout 60;
        charset utf-8;
        etag off;
        
        gzip on;
        gzip_min_length 1024;
        gzip_proxied any;
        gzip_types text/plain text/css text/javascript application/x-javascript application/json application/xml image/svg+xml;
        gzip_disable "MSIE [1-6]\.(?!.*SV1)";
        gzip_comp_level 6;
        gzip_vary on;
        
        #dont move this to server!!!!!
        ssl_session_cache   shared:SSL:50m;
        ssl_session_timeout 24h;
        ssl_buffer_size 1400;
            
        #gzip  on;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
        index   index.html index.htm;
    
        server {
            listen       80;
            server_name  localhost;
            root         /usr/share/nginx/html;
    
            #charset koi8-r;
    
            #access_log  /var/log/nginx/host.access.log  main;
    
            location / {
            }
    
            # redirect server error pages to the static page /40x.html
            #
            error_page  404              /404.html;
            location = /40x.html {
            }
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ \.php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ \.php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /\.ht {
            #    deny  all;
            #}
        }
    
    
        # another virtual host using mix of IP-, name-, and port-based configuration
        #
        #server {
        #    listen       8000;
        #    listen       somename:8080;
        #    server_name  somename  alias  another.alias;
        #    root         html;
    
        #    location / {
        #    }
        #}
    
    
        # HTTPS server
        #
        #server {
        #    listen       443;
        #    server_name  localhost;
        #    root         html;
    
        #    ssl                  on;
        #    ssl_certificate      cert.pem;
        #    ssl_certificate_key  cert.key;
    
        #    ssl_session_timeout  5m;
    
        #    ssl_protocols  SSLv2 SSLv3 TLSv1;
        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers   on;
    
        #    location / {
        #    }
        #}
    }

    по адресу include /etc/nginx/conf.d/*.conf только один файл - virtual.conf:
    index index.php index.html;
    #
    # sitename.com
    #
    server {
      listen 80;
      server_name sitename.com;
      server_name www.sitename.com;
      return 301 https://www.sitename.com$request_uri;
    }
    
    server {
      listen 443 ssl;
      server_name sitename.com;
      ssl_certificate /etc/nginx/conf/ssl-unified.crt;
      ssl_certificate_key /etc/nginx/conf/ssl.key;
      return 301 https://www.sitename.com$request_uri;
    }
    
    server {
    	listen 443 spdy ssl;
    	server_name www.sitename.com;
    	root 		/ebs1/www/sitename.com/web;
    	access_log  /ebs1/www/sitename.com/logs/access.log;
    	error_log   /ebs1/www/sitename.com/logs/error.log;
    	ssl_certificate /etc/nginx/conf/ssl-unified.crt;
    	ssl_certificate_key /etc/nginx/conf/ssl.key;	
    	ssl_dhparam /etc/ssl/dhparam.pem;
    	ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
    	ssl_prefer_server_ciphers on;
    	ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
    	##ssl_ciphers 'EECDH+ECDSA+AESGCM:AES128+EECDH:AES128+EDH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!CAMELLIA:!ADH';
    	add_header Strict-Transport-Security "max-age=15768000;includeSubdomains;";
    	ssl_stapling on;
    	ssl_stapling_verify on;
    	resolver 8.8.4.4 8.8.8.8 valid=300s;
    	resolver_timeout 10s;
    	keepalive_timeout 60;
    	expires 1M;
    	error_page  404  /404.html;
    	add_header X-Frame-Options DENY;
    	
            location = /404.html {
                root   /ebs1/www/sitename.com/web;
            }
            location ~ ^/es/(.*)$ {
                return 302 /en/$1;
            }
            location = / {
        	    index /en/index.html;
            }
            location = /run/{
        	    return 301 /app/path/;
            }        
            #!Статический контент!
            location ~ /app/.*/index\.html$ {
        	    expires -1;
            }
            location ~* \.(jpg|jpeg|gif|png|ico)$ {
    	    expires 7d;
    	    add_header Cache-Control public;
    	    access_log off;
            }
            location ~* \.(css|js|html|json|xml) {
    	    expires 7d;
    	    add_header Cache-Control public;   
            } 
            location ~* \.(?:manifest|appcache)$ {
                expires -1;
            }
            location ~ \.php$ {
                fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /ebs1/www/sitename.com/web/$fastcgi_script_name;
                fastcgi_param  HTTPS on; 
                include        fastcgi_params;
            }
    }
    
      
    #  
    #name
    #
    server {
    	listen 80;
    	server_name name.sitename.com;
    	return 301 https://www.sitename.com/app/name$request_uri;
    }
    #  
    #name
    #
    server {
    	listen 80;
    	server_name name.sitename.com.com;
    	return 301 https://www.sitename.com/app/name$request_uri;
    }
    
    #
    ## sitename.ru
    ##
    
    server {
    	listen 80;
    	server_name .sitename.ru;
    	root /ebs1/www/sitename.ru/web/;
    	access_log  /ebs1/www/sitename.ru/logs/access.log;
    	charset utf-8;
    	gzip on;
    	gzip_min_length 1024;
    	gzip_proxied expired no-cache no-store private auth;
    	gzip_types text/plain text/css text/javascript application/x-javascript;
    	gzip_disable "MSIE [1-6].(?!.*SV1)";
    	gzip_vary on;
    	client_header_timeout 900;
    	client_max_body_size 1m;
    	error_page  404  /404.html;
       location = /404.html {
                root   /ebs1/www/sitename.ru/web;
            }
    
       location ~^/$ {
    	rewrite ^ /offer/ permanent;
       }
    
    #!Статический контент!
       location ~* \.(jpg|jpeg|gif|png|ico)$ {
    	#Кеширум картинки месяца на 4
    	expires 4M;
    	#Кешируем везде (и на прокси и на клиентах)
    	add_header Cache-Control public;
    	access_log off;
        }
       location ~* \.(css|js|html) {
    	expires 7d;
    	add_header Cache-Control public;   
       }
    
       location ~ \.php$ {
          fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  /ebs1/www/sitename.ru/web/$fastcgi_script_name;
          include        fastcgi_params;
      }
    } 
    #
    ## sitename2.ru
    ##
    
    server {
    	listen 80;
    	server_name .sitename2.ru;
    	root /ebs1/www/sitename2.ru/web/;
    	access_log  /ebs1/www/sitename2.ru/logs/access.log;
    	error_page  404  /404.html;
            location = /404.html {
                root   /ebs1/www/sitename2.ru/web;
            }
    #!Статический контент!
       location ~* \.(jpg|jpeg|gif|png|ico)$ {
    	#Кеширум картинки месяца на 4
    	expires 4M;
    	#Кешируем везде (и на прокси и на клиентах)
    	add_header Cache-Control public;
    	access_log off;
        }
       location ~* \.(css|js|html) {
    	expires 7d;
    	add_header Cache-Control public;   
       }
    }
  • Как удалить поддержку SSLv3?

    prolis
    @prolis Автор вопроса
    Конфиг корректен, я вижу изменения после правки и перегружаю его.
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful

    результат openssl, детали сертификатов вырезаны
    No client certificate CA names sent
    Server Temp Key: ECDH, prime256v1, 256 bits
    ---
    SSL handshake has read 5727 bytes and written 274 bytes
    ---
    New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    SSL-Session:
        Protocol  : SSLv3
        Cipher    : ECDHE-RSA-AES256-SHA
        Session-ID: XXX
        Session-ID-ctx:
        Master-Key:XXX
        Key-Arg   : None
        Krb5 Principal: None
        PSK identity: None
        PSK identity hint: None
        Start Time: 1425976854
        Timeout   : 7200 (sec)
        Verify return code: 0 (ok)
    ---
    closed