А такой еще вопрос. Веб-приложения типа apache/mysql/nginx я смогу поставить, а насколько сложно настроить ОС для защиты от всех хакеров? Ну например, позакрывать порты, отключить ненужные сервисы, ограничить доступ и т.п.
Дело похоже не в nginx. Сделал сертификат на 2048 бит - особой разницы нет. Заменил nginx на lighthttp - в принципе тоже без изменений.
Сейчас больше склоняюсь в проблеме Windows или провайдера.
Конфиг:
worker_processes 2;
events {
worker_connections 1024;
accept_mutex off; # вроде бы под windows так быстрее
}
http {
include mime.types;
default_type application/octet-stream;
log_format main_apache '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent"';
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
server {
listen 80;
listen 443 ssl;
server_name domain.ru;
root f:/domain.ru;
ssl_certificate domain.crt;
ssl_certificate_key domain-key.txt;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate domain.crt;
resolver 8.8.8.8 8.8.4.4 valid=600s;
access_log logs/access.log combined;
error_log logs/error.log;
server_tokens off;
client_max_body_size 500m;
location / {
index index.php;
proxy_pass http://127.0.0.5:8888/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
location ~* ^.+\.(jpg|jpeg|gif|png|css|js|ico|mp3|swf)$ {
location /video/ {
mp4;
Dram, пробовал и раньше разные наборы протоколов, проверил ваш вариант настроек - вообще без изменений.
Проблема вроде как не в сервере/провайдере, т.к. тот же speedtest запущенный на сервере показывает честную скорость подключения в 100мбит.
Такое чувство, что какой-то буфер nginx не дает работать на полную скорость отдачи. Настройки nginx я уже вдоль и поперек разные перепробовал - становилось или медленнее или так же. Я уже начинаю думать, может действительно nginx под Windows так работает?
danforth, завтра скину.
Не знал о таком способе. Попробовал - работает, только есть один момент, но попробую разобраться с ним сам.
А можете привести пример вышенаписанного кода без if?
Да, дело было в internal. Заменил в коде на
if ($uri ~ ^/download/cache/) {
и все заработало.
Спасибо.
Завтра проверю еще раз.
internal - точно нужна, через нее реализованы контролируемые скачивания файлов.
Не работает почему-то. Полный код:
location ~* ^/download/ {
internal;
expires 30d;
if ($request_uri ~ \?nocache$) {
expires epoch;
if ($request_uri ~ ^/download/cache/) {
expires 1h;
root /site.ru;
И так, я пытаюсь сделать кросс-браузерную форму отправки файл на чистом html+css, чтобы она во всех браузера выглядела одинакова.
Необходимо, чтобы при на ведении курсора на кнопку "browse…" она меняла оформление, так же как это делает обычная кнопка "test".