Меню

Конфигурации Nginx

На этой странице находятся готовые конфигурации Nginx, которые вы можете использовать на вашем сервере.

Конфигурации для Linux подходят для использования на всех ОС семейства Linux (Debian, Ubuntu, Centos, Rhel и др.).
Конфигурации для Windows предназначены только для серверов на ОС Windows.

Конфигурации для HTTP используются для сайтов, доступных по незащищенному соединению.
Конфигурации для HTTPS используются, если у вашего веб-сайта будет SSL-защита. Вам понадобится сертификат и закрытый ключ. Для конфигураций HTTPS обычно также добавляется файл перенаправления с HTTP (или же это может быть часть имеющейся конфигурации), чтобы люди, по какой-то причине открывающие сайт по HTTP, автоматически перенаправлялись на HTTPS.

Конфигурации для трёх доменов (рекомендуется) используются, когда у вас зарегистрирован отдельный домен для каждого из сервисов (панель администратора, пользовательский интерфейс и API).
Конфигурации для одного домена (не рекомендуется) используются, когда вместо отдельных доменов, API панель администратора и пользовательский интерфейс - это субдиректории веб-сайта.

В конфигурациях вы можете увидеть следующие переменные значения. Вам необходимо самостоятельно отредактировать конфигурации и заменить переменные на фактические значения, которые вы будете использовать. Символы $ и {} нужно удалить.

${api.domain} = домен для API-сервера;
${panel.domain} = домен для панели администратора;
${ui.domain} = домен для пользовательского интерфейса (панели мониторинга);
${base.domain} = базовый домен в конфигурациях с одним доменом;
${ssl_cert_path} = путь к SSL-сертификату;
${ssl_key_path} = путь к закрытому ключу сертификата.

Если вы собираетесь использовать SSL, вам не обязательно указывать полный путь к вашим сертификатам в конфигурации Nginx. Вы можете создать подпапку в директории Nginx и поместить туда сертификаты. В этом случае в конфигурации Nginx можно указать короткие пути: ssl/name.crt и ssl/name.key.
Для Linux путь к этой директории должен выглядеть следующим образом: /etc/nginx/ssl
Для Windows он должен быть таким: C:\nginx\conf\ssl

Linux

server { 
        listen   80 default_server; ## listen for ipv4 
        client_max_body_size 20m; 

        location /api { 
		proxy_pass http://127.0.0.1:8084/; 
		rewrite /api/(.*) /$1  break; 
                access_log  /var/log/nginx/api.access.log;
		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; 
        } 
         
        location /api/event { 
    	        proxy_pass http://127.0.0.1:8084/event; 
		proxy_http_version 1.1; 
		proxy_set_header Upgrade $http_upgrade; 
		proxy_set_header Connection $connection_upgrade; 
		proxy_buffering off; 
		proxy_ignore_client_abort off; 
		break; 
        } 
        location /api/file/upload/ { 
                proxy_pass   http://127.0.0.1:8084/file/upload/; 
                proxy_send_timeout 5m; 
                client_max_body_size 16m; 
        } 
        location /api/file/dl/ { 
                proxy_pass   http://127.0.0.1:8084/file/dl/; 
        } 
        location /api/file/preview/ { 
                proxy_cache images; 
                proxy_cache_valid 200 24h; 
                proxy_pass   http://127.0.0.1:18888/file/preview/; 
        } 
         
        location /api/console  { 
                proxy_pass http://127.0.0.1:8383/console; 
                proxy_http_version 1.1; 
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection "upgrade"; 
                proxy_read_timeout 1000s; 
        } 
        location /panel { 
                index index.html; 
                add_header Access-Control-Allow-Origin *; 
                alias /var/www/panel-v2/; 
                access_log  /var/log/nginx/panel.access.log; 
        } 
        location / { 
                index index.html; 
                add_header Access-Control-Allow-Origin *; 
                root /var/www/pro-ui/; 
                access_log  /var/log/nginx/my.access.log; 
        } 
}
server { 
	listen		443 ssl; ## listen for ipv4 
	# listen	[::]:443 default ipv6only=on; ## listen for ipv6 
	server_name	${base.domain}; 
	client_max_body_size 20m; 

	ssl_certificate		${ssl_cert_path}; 
	ssl_certificate_key	${ssl_key_path}; 
	# ssl on; 
	ssl_session_cache shared:SSL:10m; 
	ssl_session_timeout 10m; 

	location /api  {               
                access_log  /var/log/nginx/api.access.log;
		proxy_redirect              off; 
                rewrite /api/(.*) /$1  break;
		proxy_set_header            Host $host;
		proxy_set_header            X-Real-IP $remote_addr; 
		proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for; 
		proxy_pass http://127.0.0.1:8084; 
	} 
   
	location /api/event { 
                proxy_pass http://127.0.0.1:8084/event; 
                proxy_http_version 1.1; 
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection $connection_upgrade; 
                proxy_buffering off; 
                proxy_ignore_client_abort off; 
                break; 
        } 

	location /api/console  { 
		proxy_pass http://127.0.0.1:8383/console; 
		proxy_http_version 1.1; 
		proxy_set_header Upgrade $http_upgrade; 
		proxy_set_header Connection "upgrade"; 
		proxy_read_timeout 1000s; 
	} 

	location /api/file/upload/ { 
		proxy_pass   http://127.0.0.1:8084/file/upload/; 
		proxy_send_timeout 5m; 
		client_max_body_size 16m; 
	} 

	location /api/file/dl/ { 
		proxy_pass   http://127.0.0.1:8084/file/dl/; 
	} 

	location /api/file/preview/ { 
		proxy_cache images; 
		proxy_cache_valid 200 24h; 
		proxy_pass   http://127.0.0.1:18888/file/preview/; 
	} 

	location /panel { 
                index index.html; 
                add_header Access-Control-Allow-Origin *; 
                alias /var/www/panel-v2/; 
                access_log  /var/log/nginx/panel.access.log;
	} 

	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root /var/www/pro-ui/; 
                access_log  /var/log/nginx/my.access.log;
	} 
   
	location ~ images/\w*\.(png|jpg) { 
                root /var/www/; 
        } 
}
server { 
	listen		80; ## listen for ipv4 
	# listen	[::]:80 default ipv6only=on; ## listen for ipv6 
	server_name	${api.domain}; 
	access_log	/var/log/nginx/${api.domain}.access.log; 
	client_max_body_size 20m; 

	location / { 
		proxy_pass http://127.0.0.1:8084; 
		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; 
	} 
   
        location /event { 
                proxy_pass http://127.0.0.1:8084/event; 
                proxy_http_version 1.1; 
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection $connection_upgrade; 
                proxy_buffering off; 
                proxy_ignore_client_abort off; 
                break; 
        } 

	location /file/upload/ { 
		proxy_pass   http://127.0.0.1:8084/file/upload/; 
		proxy_send_timeout 5m; 
		client_max_body_size 16m; 
	} 

	location /file/dl/ { 
		proxy_pass   http://127.0.0.1:8084/file/dl/; 
	} 

	location /file/preview/ { 
		proxy_cache images; 
		proxy_cache_valid 200 24h; 
		proxy_pass   http://127.0.0.1:18888/file/preview/; 
	} 
} 

server { 
	listen		80; ## listen for ipv4 
	# listen	[::]:80; ## listen for ipv6 
	server_name	${panel.domain}; 
	access_log	/var/log/nginx/${panel.domain}.access.log; 
        client_max_body_size 20m;	
	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root /var/www/panel-v2/; 
	} 
} 

server { 
	listen		80; ## listen for ipv4 
	# listen	[::]:80; ## listen for ipv6 
	server_name	${ui.domain}; 
	access_log	/var/log/nginx/${ui.domain}.access.log; 
        client_max_body_size 20m;

	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root /var/www/pro-ui/; 
	} 
   
        location ~ images/\w*\.(png|jpg|jpeg) { 
                root /var/www/; 
  } 
}
server { 
    	listen		443 ssl; ## listen for ipv4 
    	# listen	[::]:443 default ipv6only=on; ## listen for ipv6 
    	server_name	${api.domain};  
    	access_log	/var/log/${api.domain}.access.log; 
    	client_max_body_size 20m; 

    	ssl_certificate		${ssl_cert_path}; 
    	ssl_certificate_key	${ssl_key_path}; 
    	# ssl on; 
	ssl_session_cache shared:SSL:10m; 
    	ssl_session_timeout 10m; 

    	location / { 
                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; 
		proxy_pass http://127.0.0.1:8084; 
	} 
   
	location /event { 
                proxy_pass http://127.0.0.1:8084/event; 
                proxy_http_version 1.1; 
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection $connection_upgrade; 
                proxy_buffering off; 
                proxy_ignore_client_abort off; 
                break; 
        } 

	location /console  { 
		proxy_pass http://127.0.0.1:8383/console; 
		proxy_http_version 1.1; 
		proxy_set_header Upgrade $http_upgrade; 
		proxy_set_header Connection "upgrade"; 
		proxy_read_timeout 1000s; 
	} 

	location /file/upload/ { 
		proxy_pass   http://127.0.0.1:8084/file/upload/; 
		proxy_send_timeout 5m; 
		client_max_body_size 16m; 
	} 

	location /file/dl/ { 
		proxy_pass   http://127.0.0.1:8084/file/dl/; 
	} 

	location /file/preview/ { 
		proxy_cache images; 
		proxy_cache_valid 200 24h; 
		proxy_pass   http://127.0.0.1:18888/file/preview/; 
	} 
} 

server { 
	listen		443 ssl; ## listen for ipv4 
	# listen	[::]:443; ## listen for ipv6 
	server_name	${panel.domain}; 
	access_log	/var/log/${panel.domain}.access.log; 
        client_max_body_size 20m;	 

	ssl_certificate		${ssl_cert_path}; 
	ssl_certificate_key	${ssl_key_path}; 
	# ssl on; 
	ssl_session_cache shared:SSL:10m; 
	ssl_session_timeout 10m; 

	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root /var/www/panel-v2/; 
	} 
} 

server { 
	listen		443 ssl; ## listen for ipv4 
	# listen	[::]:443; ## listen for ipv6 
	server_name	${ui.domain}; 
	access_log	/var/log/${ui.domain}.access.log; 
        client_max_body_size 20m;	 

	ssl_certificate		${ssl_cert_path}; 
	ssl_certificate_key	${ssl_key_path}; 
	# ssl on; 
	ssl_session_cache shared:SSL:10m; 
	ssl_session_timeout 10m; 

	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root /var/www/pro-ui/; 
	} 
   
	location ~ images/\w*\.(png|jpg|jpeg) { 
        root /var/www/; 
  } 
}

Windows

server { 
        listen   80; ## listen for ipv4 
        client_max_body_size 20m; 
        location /api { 
                proxy_pass http://127.0.0.1:8084/; 
		rewrite /api/(.*) /$1  break; 
                access_log  logs/api.access.log; 
                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; 
        } 
         
        location /api/event { 
                proxy_pass http://127.0.0.1:8084/event; 
                proxy_http_version 1.1; 
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection $connection_upgrade; 
                proxy_buffering off; 
                proxy_ignore_client_abort off; 
                break; 
        }     
         
        location /api/file/upload/ { 
		proxy_pass   http://127.0.0.1:8084/file/upload/; 
	        proxy_send_timeout 5m; 
	        client_max_body_size 16m; 
	    } 
      	location /api/file/dl/ { 
                proxy_pass   http://127.0.0.1:8084/file/dl/; 
	    } 
         
        location /api/console  { 
	        proxy_pass http://127.0.0.1:8383/console; 
	        proxy_http_version 1.1; 
	        proxy_set_header Upgrade $http_upgrade; 
	        proxy_set_header Connection "upgrade"; 
	        proxy_read_timeout 1000s; 
      	} 
        location /panel { 
                index index.html; 
                add_header Access-Control-Allow-Origin *; 
                alias www/panel-v2/; 
		access_log  logs/panel.access.log; 
       } 
        location / { 
                index index.html; 
                add_header Access-Control-Allow-Origin *; 
                root www/pro-ui/; 
		access_log  logs/ui.access.log; 
        } 
         
        location ~ images/\w*\.(png|jpg|jpeg) { 
                root www/; 
        } 
}
server { 
	listen		443 ssl; ## listen for ipv4 
	# listen	[::]:80 default ipv6only=on; ## listen for ipv6 
	server_name	${base.domain}; 
	client_max_body_size 20m; 
	ssl_certificate		${ssl_cert_path}; 
	ssl_certificate_key	${ssl_key_path}; 
	# ssl on; 
	ssl_session_cache shared:SSL:10m; 
	ssl_session_timeout 10m; 
	location /api { 
		proxy_pass http://127.0.0.1:8084; 
		rewrite /api/(.*) /$1  break; 
		access_log  logs/api.access.log; 
		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; 
	} 
   
        location /api/event { 
                proxy_pass http://127.0.0.1:8084/event; 
                proxy_http_version 1.1; 
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection $connection_upgrade; 
                proxy_buffering off; 
                proxy_ignore_client_abort off; 
                break; 
        } 
	location /api/console  { 
		proxy_pass http://127.0.0.1:8383/console; 
		proxy_http_version 1.1; 
		proxy_set_header Upgrade $http_upgrade; 
		proxy_set_header Connection "upgrade"; 
		proxy_read_timeout 1000s; 
	} 
	location /api/file/upload/ { 
		proxy_pass   http://127.0.0.1:8084/file/upload/; 
		proxy_send_timeout 5m; 
		client_max_body_size 16m; 
	} 
	location /api/file/dl/ { 
		proxy_pass   http://127.0.0.1:8084/file/dl/; 
	} 
	location /panel { 
                index index.html; 
                add_header Access-Control-Allow-Origin *; 
                alias www/panel-v2/; 
		access_log  logs/panel.access.log; 
	} 
	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		access_log  logs/ui.access.log; 
		root www/pro-ui/; 
        } 
        location ~ images/\w*\.(png|jpg|jpeg) { 
		root www/; 
        } 
}
server { 
	listen		80; ## listen for ipv4 
	# listen	[::]:80 default ipv6only=on; ## listen for ipv6 
	server_name	${api.domain}; 
	access_log	logs/${api.domain}.ssl.access.log; 
	client_max_body_size 20m; 
	location / { 
		proxy_pass http://127.0.0.1:8084; 
                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; 
	} 
   
        location /event { 
                proxy_pass http://127.0.0.1:8084/event; 
                proxy_http_version 1.1; 
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection $connection_upgrade; 
                proxy_buffering off; 
                proxy_ignore_client_abort off; 
                break; 
    } 
	location /console  { 
		proxy_pass http://127.0.0.1:8383/console; 
		proxy_http_version 1.1; 
		proxy_set_header Upgrade $http_upgrade; 
		proxy_set_header Connection "upgrade"; 
		proxy_read_timeout 1000s; 
	} 
	location /file/upload/ { 
		proxy_pass   http://127.0.0.1:8084/file/upload/; 
		proxy_send_timeout 5m; 
		client_max_body_size 16m; 
	} 
	location /file/dl/ { 
		proxy_pass   http://127.0.0.1:8084/file/dl/; 
	} 
} 
server { 
	listen		80; ## listen for ipv4 
	# listen	[::]:80; ## listen for ipv6 
	server_name	${panel.domain}; 
	access_log	logs/${panel.domain}.access.log; 
        client_max_body_size 20m;	 
	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root www/panel-v2/; 
	} 
} 
server { 
	listen		80; ## listen for ipv4 
	# listen	[::]:80; ## listen for ipv6 
	server_name	${ui.domain}; 
	access_log	logs/${ui.domain}.access.log; 
        client_max_body_size 20m;	 
	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root www/pro-ui/; 
         }

        location ~ images/\w*\.(png|jpg|jpeg) { 
                root www/; 
        } 

}
server { 
	listen		443 ssl; ## listen for ipv4 
	# listen	[::]:443 default ipv6only=on; ## listen for ipv6 
	server_name	${api.domain}; 
	access_log	logs/${api.domain}.ssl.access.log; 
	client_max_body_size 20m; 

	ssl_certificate	 ${ssl_cert_path}; 
	ssl_certificate_key ${ssl_key_path}; 
	# ssl on; 
	ssl_session_cache shared:SSL:10m; 
	ssl_session_timeout 10m; 

	location / { 
                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; 
		proxy_pass http://127.0.0.1:8084; 
	} 
   
        location /event { 
                proxy_pass http://127.0.0.1:8084/event; 
                proxy_http_version 1.1; 
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection $connection_upgrade; 
                proxy_buffering off; 
                proxy_ignore_client_abort off; 
                break; 
        } 
	location /console  { 
		proxy_pass http://127.0.0.1:8383/console; 
		proxy_http_version 1.1; 
		proxy_set_header Upgrade $http_upgrade; 
		proxy_set_header Connection "upgrade"; 
		proxy_read_timeout 1000s; 
	} 
	location /file/upload/ { 
		proxy_pass   http://127.0.0.1:8084/file/upload/; 
		proxy_send_timeout 5m; 
		client_max_body_size 16m; 
	} 
	location /file/dl/ { 
		proxy_pass   http://127.0.0.1:8084/file/dl/; 
	} 
} 
server { 
	listen		443 ssl; ## listen for ipv4 
	# listen	[::]:443; ## listen for ipv6 
	server_name	${panel.domain}; 
	access_log	logs/${panel.domain}.ssl.access.log; 
        client_max_body_size 20m;
	ssl_certificate	 ${ssl_cert_path};
	ssl_certificate_key ${ssl_key_path}; 
	# ssl on; 
	ssl_session_cache shared:SSL:10m; 
	ssl_session_timeout 10m; 

	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root www/panel-v2/; 
	} 
} 

server { 
	listen		443 ssl; ## listen for ipv4 
	# listen	[::]:443; ## listen for ipv6 
	server_name	${ui.domain}; 
	access_log	logs/${ui.domain}.ssl.access.log; 
        client_max_body_size 20m;	
	ssl_certificate	 ${ssl_cert_path};
	ssl_certificate_key ${ssl_key_path}; 
	# ssl on; 
	ssl_session_cache shared:SSL:10m; 
	ssl_session_timeout 10m; 

	location / { 
		index index.html; 
		add_header Access-Control-Allow-Origin *; 
		root www/pro-ui/; 
	} 
   
        location ~ images/\w*\.(png|jpg|svg) {
        root www/;
  } 
}

Перенаправление HTTP-HTTPS

Когда вы используете HTTPS, вам может быть необходимо, чтобы ваши пользователи могли попасть на платформу, даже если они открывают адрес вашего сайта через HTTP. Для этого вам нужно настроить перенаправление HTTP-HTTPS. Это может быть либо частью существующей конфигурации (просто дополните её), либо это может быть отдельный файл, расположенный в той же директории.
Перенаправление работает одинаково для Linux и Windows, единственное различие заключается в количестве используемых доменов.

server { 
     listen 80; 
     server_name ${base.domain}; 
     location / { 
          return 301 https://${base.domain}$request_uri; 
     } 
}
server { 
     listen 80; 
     server_name ${api.domain}; 
     location / { 
          return 301 https://${api.domain}$request_uri; 
     } 
} 
server { 
     listen 80; 
     server_name ${panel.domain}; 
     location / { 
          return 301 https://${panel.domain}$request_uri; 
     } 
} 
server { 
     listen 80; 
     server_name ${ui.domain}; 
     location / { 
          return 301 https://${ui.domain}$request_uri; 
     } 
}
Миграция с Wialon
Показать
Миграция с Wialon
Перенос пользователей,
трекеров, геозон и истории.
Узнать больше
Скрыть

Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookie.