Re: Как удалить index.php из url

2019-04-28 Пенетрантность Константин Ткаченко
сб, 27 апр. 2019 г. в 17:07, dimademin :

> К сожалению не то, ведь index.php из первоначального запроса никуда не
> исчезнет
> Вся эта схема вообще не работает без /index.php?q=, это отыечает за "чистые
> урлы"
>
>
Перечитал еще раз тему.
У вас похож конфиг на конфиг от друпала 7.
Приведете пример входящей uri и что должно получиться.

-- 
С уважением, Константин!
Web-разработчик Mello .

Best regards,
Constantine
Mello  Web developer.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx/1.16.0 ssl

2019-04-28 Пенетрантность Константин Ткаченко
Первое что бросилось в глаза - нет ssl директивы у listen
Также проверить работу сертификатов, как тут советовали, лучше с помощью
openssl, например так:
$ openssl s_client -servername ИМЯ -connect ХОСТ:ПОРТ

сб, 27 апр. 2019 г. в 20:52, bagas :

> Вечер добрый.
> Переношу проекты со старого сервера.
> После переноса вэб проекта не работают ссл сертификаты.
>
> # nginx -V
> nginx version: nginx/1.16.0
> built with OpenSSL 1.1.1a-freebsd  20 Nov 2018
> TLS SNI support enabled
> configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I
> /usr/local/include' --with-ld-opt='-L /usr/local/lib'
> --conf-path=/usr/local/etc/nginx/nginx.conf
> --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
> --error-log-path=/var/log/nginx/error.log --user=www --group=www
> --modules-path=/usr/local/libexec/nginx --with-file-aio
> --http-client-body-temp-path=/var/tmp/nginx/client_body_temp
> --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
> --http-proxy-temp-path=/var/tmp/nginx/proxy_temp
> --http-scgi-temp-path=/var/tmp/nginx/scgi_temp
> --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp
> --http-log-path=/var/log/nginx/access.log --with-http_v2_module
> --with-http_addition_module --with-http_auth_request_module
> --with-http_dav_module --with-http_gunzip_module
> --with-http_gzip_static_module --with-http_random_index_module
> --with-http_realip_module --with-pcre --with-http_secure_link_module
> --with-http_slice_module --with-http_ssl_module
> --with-http_stub_status_module --with-http_sub_module
> --with-cc-opt='-DNGX_HAVE_INET6=0 -I /usr/local/include'
> --without-mail_imap_module --without-mail_pop3_module
> --without-mail_smtp_module --with-threads --with-stream=dynamic
>
> система
> FreeBSD 12.0-RELEASE-p3 amd64
>
> виртуал хоcт с такой настройкой.
>
> server {
> listen 9.9.2.1:443 http2;
> server_name www.site.local;
> rewrite ^(.*) https://site.local$uri permanent;
> ssl_certificate /usr/local/etc/letsencrypt/live/site.local/fullchain.pem;
> ssl_certificate_key
> /usr/local/etc/letsencrypt/live/site.local/privkey.pem;
> ssl_trusted_certificate
> /usr/local/etc/letsencrypt/live/site.local/chain.pem;
> ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
> ssl_prefer_server_ciphers on;
> }
>
> Пробовал через разные браузеры
> гугл/мозила/опера.
> гугл хром
> Версия 73.0.3683.103 (Официальная сборка), (64 бит)
> Ошибка
> Этот сайт не может обеспечить безопасное соединение Сайт ionpower.ru
> отправил недействительный ответ.
> ERR_SSL_PROTOCOL_ERROR
>
> На старом сервере система.
> FreeBSD 11.2-RELEASE-p9 amd64
>
> nginx
> # nginx -V
> nginx version: nginx/1.14.2
> built with OpenSSL 1.0.2o-freebsd  27 Mar 2018
> TLS SNI support enabled
> configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I
> /usr/local/include' --with-ld-opt='-L /usr/local/lib'
> --conf-path=/usr/local/etc/nginx/nginx.conf
> --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
> --error-log-path=/var/log/nginx/error.log --user=www --group=www
> --modules-path=/usr/local/libexec/nginx --with-file-aio
> --http-client-body-temp-path=/var/tmp/nginx/client_body_temp
> --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
> --http-proxy-temp-path=/var/tmp/nginx/proxy_temp
> --http-scgi-temp-path=/var/tmp/nginx/scgi_temp
> --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp
> --http-log-path=/var/log/nginx/access.log --with-http_v2_module
> --with-http_addition_module --with-http_auth_request_module
> --with-http_gunzip_module --with-http_gzip_static_module
> --with-http_random_index_module --with-http_realip_module --with-pcre
> --with-http_secure_link_module --with-http_slice_module
> --with-http_ssl_module --with-http_stub_status_module
> --with-http_sub_module
> --with-cc-opt='-DNGX_HAVE_INET6=0 -I /usr/local/include'
> --without-mail_imap_module --without-mail_pop3_module
> --without-mail_smtp_module --with-stream_ssl_module
> --with-stream_ssl_preread_module --with-threads --with-stream=dynamic
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,283954,283954#msg-283954
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
С уважением, Константин!
Web-разработчик Mello .

Best regards,
Constantine
Mello  Web developer.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Как удалить index.php из url

2019-04-28 Пенетрантность dimademin
Движок там MODx, связка nginx + php-fpm, схематично конфиг такой

location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~ \.php {
..
тут настроено кэширование отдельных страниц сайта
}
ну и дальше там еще второстепенные location, статика, закрытые урлы и пр.

обычные урлы разделов, товаров и какие-то доп. типа урл на сортировки
выглядят примерно так
http://dom.com/cat1/
http://dom.com/tovar_blabla/
http://dom.com/tovar_blabla/?color=red

С приведенным куском конфига все работает. СЕОшники возжелали склеить корень
"/" и "/index.php", то есть что-бы:
http://dom.com/index.php редиректило(301) на http://dom.com/

Уже не первый день экспериментирую, перепробовал кучу всего и подозреваю что
силами только nginx, это может не получится, как раз по причине
использования php-fpm. Все попытки это в конфиге nginx приводят к рекурсии.


На виртуалке поднял аналогичный конфиг только nginx + apache, через htaccess
это делается без проблем:

RewriteBase /
RewriteCond /index.php [NC]
RewriteRule ^(.*)index\.php$ $1 [R=301,L]

Видимо конкретно в моем случае, в роли htaccess, должен выступить скрипт, то
есть этот рерайт наверное нужно делать там.
Ну у меня просто идеи уже кончились и свои и не свои, может вы свежим
взглядом что-нить подскажете :)

Вот как-то так, вроде ничего не забыл.
Спасибо

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,232265,283965#msg-283965

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx/1.16.0 ssl

2019-04-28 Пенетрантность bagas
И для чего было моя старую тему поднимать из удаленных?
Я сам разобрался что не было ssl в листене.

Удалите эту тему, смысл две одинаковые темы держать.

Вот мой пост рабочий по этой информации/ситуации.
https://forum.nginx.org/read.php?21,283957

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,283964,283967#msg-283967

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Как удалить index.php из url

2019-04-28 Пенетрантность Constantine A. Murenin
Почитайте ещё раз данное сообщение:

https://forum.nginx.org/read.php?21,232265,283930#msg-283930

Проблема решается в nginx элементарнейшим образом:

index   index.php;
if ($request_uri ~ "^(.*/)index.php$") {return  301 $1; }

См.
https://stackoverflow.com/questions/21687288/nginx-redirect-loop-remove-index-php-from-url/21813759#21813759

Смысл здесь в разнице между внешними и внутренними перенаправлениями.  При
использовании $uri (например, через location или rewrite), вы ловите
внутреннее (служебное) перенаправление на /index.php при внешнем запросе на
/, и выдаёте внешнее перенаправление опять на /, тогда как клиент и так уже
запрашивал /.  Для правильной работы нужно использовать не $uri, а
$request_uri, и перенаправлять исключительно внешние запросы /index.php.

http://nginx.org/r/$uri/ru
http://nginx.org/r/$request_uri/ru

К.
http://cm.su/

On Sun, 28 Apr 2019 at 04:57, dimademin  wrote:

> Движок там MODx, связка nginx + php-fpm, схематично конфиг такой
>
> location / {
> try_files $uri $uri/ @rewrite;
> }
> location @rewrite {
> rewrite ^/(.*)$ /index.php?q=$1;
> }
> location ~ \.php {
> ..
> тут настроено кэширование отдельных страниц сайта
> }
> ну и дальше там еще второстепенные location, статика, закрытые урлы и пр.
>
> обычные урлы разделов, товаров и какие-то доп. типа урл на сортировки
> выглядят примерно так
> http://dom.com/cat1/
> http://dom.com/tovar_blabla/
> http://dom.com/tovar_blabla/?color=red
>
> С приведенным куском конфига все работает. СЕОшники возжелали склеить
> корень
> "/" и "/index.php", то есть что-бы:
> http://dom.com/index.php редиректило(301) на http://dom.com/
>
> Уже не первый день экспериментирую, перепробовал кучу всего и подозреваю
> что
> силами только nginx, это может не получится, как раз по причине
> использования php-fpm. Все попытки это в конфиге nginx приводят к рекурсии.
>
>
> На виртуалке поднял аналогичный конфиг только nginx + apache, через
> htaccess
> это делается без проблем:
>
> RewriteBase /
> RewriteCond /index.php [NC]
> RewriteRule ^(.*)index\.php$ $1 [R=301,L]
>
> Видимо конкретно в моем случае, в роли htaccess, должен выступить скрипт,
> то
> есть этот рерайт наверное нужно делать там.
> Ну у меня просто идеи уже кончились и свои и не свои, может вы свежим
> взглядом что-нить подскажете :)
>
> Вот как-то так, вроде ничего не забыл.
> Спасибо
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,232265,283965#msg-283965
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru