Страница 1 из 2

Как настроить NGINX

Добавлено: 05 июн 2024, 20:11
Rim
Привет.
Обновился на версию 6, и возник вопрос как мне настроить отдельный nginx conf для проекта.
Есть самописный проект test.local, работает с WebSockets, поэтому надо свой conf, я его создал в /.osp/nginx/test.local.conf
upstream websockests {
	server 127.127.126.55:2050;
}

server {
	listen 80;
 	server_name test.local;
 	return 302 https://\$server_name\$request_uri;
}

server {
    listen 433;
	server_name test.local alias.test.local;
	charset utf-8;
	autoindex off;

	index index.php;

	location / {
		try_files $uri $uri/ /index.php?$args;
	}
	location ~* \.php$ {
        include {полный путь к ospanel}/modules/Nginx-1.26/conf/fastcgi_params;
        fastcgi_index index.php;
        fastcgi_pass 127.127.126.58:9000;
    }

	location = /socket {
		charset utf-8;
		proxy_pass http://websockets;
		proxy_http_version 1.1;
		proxy_buffering off;
		proxy_read_timeout 86400s;
		proxy_send_timeout 86400s;
		proxy_set_header			Host				$host;
		proxy_set_header			X-Real-IP			$remote_addr;
		proxy_set_header			X-Forwarded-Proto	https;
		proxy_set_header			X-Forwarded-For		$proxy_add_x_forwarded_for;
		proxy_set_header			Upgrade				$http_upgrade;
		proxy_set_header			Connection			$connection_upgrade;
	}
}
Мне начала показываться страница "Как вы тут оказались?", хотя без кастомного conf все запускалось (кроме WS)

Также как мне добавить сертификаты для порта 433 которые подтягиваются без кастомного nginx?

Re: Как настроить NGINX

Добавлено: 05 июн 2024, 20:40
Ink0gnit0
Во-первых, укажите, что указаный порт 433 - SSL:
listen 433 ssl;
Во-вторых, добавьте пути к автоматически сгенерированному для вашего проекта сертификату/ключу:
...
index index.php;
ssl_certificate              '{root_dir}/data/ssl/projects/$host/cert.crt';
ssl_certificate_key          '{root_dir}/data/ssl/projects/$host/cert.key';
...
Включите/перезапустите модуль Nginx-1.26.

Re: Как настроить NGINX

Добавлено: 05 июн 2024, 21:08
Rim
Ink0gnit0 писал(а): 05 июн 2024, 20:40 Во-первых, укажите, что указаный порт 433 - SSL:
listen 433 ssl;
Во-вторых, добавьте пути к автоматически сгенерированному для вашего проекта сертификату/ключу:
...
index index.php;
ssl_certificate              '{root_dir}/data/ssl/projects/$host/cert.crt';
ssl_certificate_key          '{root_dir}/data/ssl/projects/$host/cert.key';
...
Включите/перезапустите модуль Nginx-1.26.
Спасибо, а почему говорит что "Как вы тут оказались?", не вкурсе?

Re: Как настроить NGINX

Добавлено: 05 июн 2024, 21:20
Ink0gnit0
А вы порт 433 указываете при обращении в браузере?

Не используйте IP-адреса. Задайте в качестве доменного имени для fastcgi_pass и upstream наименования используемых модулей.

Re: Как настроить NGINX

Добавлено: 05 июн 2024, 21:23
Rim
Ink0gnit0 писал(а): 05 июн 2024, 21:20 А вы порт 433 указываете при обращении в браузере?
вызывается по https если вы об этом
Ink0gnit0 писал(а): 05 июн 2024, 21:20 Не используйте IP-адреса. Задайте в качестве доменного имени для fastcgi_pass и upstream наименования используемых модулей.
А можно пример о чем вы, потому что я взял апйпишки с конфигов самих модулей - думал должно работать

Re: Как настроить NGINX

Добавлено: 05 июн 2024, 21:33
Ink0gnit0
вызывается по https если вы об этом
Имею в виду, порт указываете?
https://test.local:433/
А можно пример о чем вы, потому что я взял апйпишки с конфигов самих модулей - думал должно работать
Работать так будет, но придётся править IP-адреса, где использовались, в случае изменения IP-адреса используемого модуля.

Re: Как настроить NGINX

Добавлено: 05 июн 2024, 21:46
Rim
Ink0gnit0 писал(а): 05 июн 2024, 21:33 Имею в виду, порт указываете?
https://test.local:433/
Порт 443 должен быть, я ошибся цифрой.
должно быть https://test.local
Ink0gnit0 писал(а): 05 июн 2024, 21:33 Работать так будет, но придётся править IP-адреса, где использовались, в случае изменения IP-адреса используемого модуля.
Видимо туплю уже под вечер но я не понял о чем вы. Я всегда указывал либо так
location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    ...
}
либо так
location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    ...
}
Но на винде только как второй вариант

Re: Как настроить NGINX

Добавлено: 06 июн 2024, 13:54
Максим
Замените содержимое /.osp/nginx/test.local.conf на это и пробуйте (не проверял):
    autoindex                     off;
    index                         index.php;
    
    if ($scheme ~* ^(?!https).*$) {
        return 301 https://$host$request_uri;
    }
    
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ [^/]\.php(/|$) {
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass $php_server:9000;
        include fastcgi.conf;
    }
    
    location = /socket {
        proxy_cache_bypass    $http_upgrade;
        proxy_http_version    1.1;
        proxy_pass            http://127.127.126.55:2050;
        proxy_set_header      Connection $connection_upgrade;
        proxy_set_header      Host $host;
        proxy_set_header      Upgrade $http_upgrade;
        proxy_set_header      X-Forwarded-For $http_x_forwarded_for;
        proxy_set_header      X-Forwarded-Proto $scheme;
        proxy_set_header      X-Real-IP $remote_addr;
    }

Re: Как настроить NGINX

Добавлено: 06 июн 2024, 14:51
Rim
Максим писал(а): 06 июн 2024, 13:54 Замените содержимое /.osp/nginx/test.local.conf на это и пробуйте (не проверял):
    autoindex                     off;
    index                         index.php;
    
    if ($scheme ~* ^(?!https).*$) {
        return 301 https://$host$request_uri;
    }
    
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ [^/]\.php(/|$) {
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass $php_server:9000;
        include fastcgi.conf;
    }
    
    location = /socket {
        proxy_cache_bypass    $http_upgrade;
        proxy_http_version    1.1;
        proxy_pass            http://127.127.126.55:2050;
        proxy_set_header      Connection $connection_upgrade;
        proxy_set_header      Host $host;
        proxy_set_header      Upgrade $http_upgrade;
        proxy_set_header      X-Forwarded-For $http_x_forwarded_for;
        proxy_set_header      X-Forwarded-Proto $scheme;
        proxy_set_header      X-Real-IP $remote_addr;
    }
Не запускаэтся nginx: "unknown "php_server" variable"
Я тоже пробовал эту переменную

Re: Как настроить NGINX

Добавлено: 06 июн 2024, 18:45
Максим
Rim писал(а): 06 июн 2024, 14:51 Не запускаэтся nginx: "unknown "php_server" variable"
Я тоже пробовал эту переменную
Это говорит лишь о том, что вы не назначили для этого домена модуль PHP-FCGI.