Ответы пользователя по тегу Nginx
  • Как правильно проксировать с https?

    nepster-web
    @nepster-web Автор вопроса
    В общем разобрался в проблеме на уровне приложения и постараюсь описать решение.

    Приложение, это сайт на laravel, который работает на docker. Основной nginx сервера, который работает на https проксирует все запросы на nginx docker`a, который работает на http. Соответственно, когда мы попадаем в само приложение, оно думает, что работает на http.

    У нас есть несколько вариантов решения данной проблемы:
    1. Поднять приложение на docker тоже через https
    2. Передать спец. заголовок через nginx
    3. Настроить https через приложение.

    Так уж вышло, что мне не подошли первые два варианта, поскольку появляются дополнительные сложности при переключении окружений (а так-же тестирование с локалки, где нет https).

    Поэтому все было решено через приложение примерно таким способом:

    AppServiceProvider.php
    ...
            if (env('APP_ENV') === 'production') {
                URL::forceScheme('https');
                $this->app->make(Request::class)->server->set('HTTPS', true);
            }
    ...
    Ответ написан
    Комментировать
  • Как убрать слеш в конце url на nginx?

    nepster-web
    @nepster-web
    В Server:
    # 301 редирект со страниц со слешем на страницы без слеша в конце URL
    rewrite ^/(.*)/$ /$1 permanent;
    Ответ написан
    8 комментариев
  • Почему в Ngnix запрос не попадает в location?

    nepster-web
    @nepster-web Автор вопроса
    Решение:
    В папке /game/public нужно было создать папку deberc
    Ответ написан
  • Почему в Ngnix запрос не попадает в location?

    nepster-web
    @nepster-web Автор вопроса
    Конфиг nginx на виртуальном сервере, не попадает в location /deberc

    server {
        listen       80;
        server_name 192.168.1.121;
    
        charset utf8;
        error_log /game/nginx/log/error.log;
        access_log  /game/nginx/log/access.log  main;
    
        #root /game/public;
    
    
        location /deberc {
            root /game/public;
            index index.html index.htm;
        }
    
        location / {
            root /game/public;
            index index.html index.htm;
        }
    
        error_page  404              /404.html;
    
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /game/public;
        }
    }
    Ответ написан
  • Почему в Ngnix запрос не попадает в location?

    nepster-web
    @nepster-web Автор вопроса
    user www-data;
    worker_processes 4;
    pid /var/run/nginx.pid;
    
    events {
    	worker_connections 768;
    	# multi_accept on;
    }
    
    http {
    
    	##
    	# Basic Settings
    	##
    
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	types_hash_max_size 2048;
    	# server_tokens off;
    
    	# server_names_hash_bucket_size 64;
    	# server_name_in_redirect off;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    	##
    	# Logging Settings
    	##
    
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    	##
    	# Gzip Settings
    	##
    
    	gzip on;
    	gzip_disable "msie6";
    
    	# gzip_vary on;
    	# gzip_proxied any;
    	# gzip_comp_level 6;
    	# gzip_buffers 16 8k;
    	# gzip_http_version 1.1;
    	# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
    	##
    	# nginx-naxsi config
    	##
    	# Uncomment it if you installed nginx-naxsi
    	##
    
    	#include /etc/nginx/naxsi_core.rules;
    
    	##
    	# nginx-passenger config
    	##
    	# Uncomment it if you installed nginx-passenger
    	##
    	
    	#passenger_root /usr;
    	#passenger_ruby /usr/bin/ruby;
    
    	##
    	# Virtual Host Configs
    	##
    
    	include /etc/nginx/conf.d/*.conf;
    	#include /etc/nginx/sites-enabled/*;
    }


    В /etc/nginx/conf.d/*.conf 1 файл с содержимым:

    server {
            listen          80;
            server_name   localhost; 
    
            location /itest {
                    proxy_pass http://192.168.1.121;
            }   
           
            location /qtest {
                    proxy_pass http://192.168.1.122;
            }     
         
            location /ztest {
                    proxy_pass http://192.168.1.123;
            }          
    }
    Ответ написан
  • Nginx путь к папке

    nepster-web
    @nepster-web Автор вопроса
    как то так сработало:

    location ~ ^/deberc/(.+\.(?:gif|jpg|jpeg|png|js|css))$ {
                alias /home/deberc/deberc/interface/$1;
            }
    Ответ написан
    Комментировать