Проблема с Протоколом изменения после перенаправления 301 (Nginx / BitrixVM/CentOS6. 5)

Проблема с Протоколом изменения после перенаправления 301 (Nginx / BitrixVM/CentOS6. 5)

26.02.2016 11:10:28 Просмотров 36 Источник

Я использую следующие настройки:

С1.конф

# Default website
server {

    listen 80;
    server_name test.com www.test.com;
    return 301 https://test.com$request_uri;  # enforce https

    server_name_in_redirect off;

    access_log /var/log/nginx/access.log main;
    error_log  /var/log/nginx/error.log warn;

    proxy_set_header    X-Real-IP        $remote_addr;
    proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_set_header    Host $host:80;
    proxy_set_header<   X-Forwarded-Host $http_host

    set $proxyserver    "http://127.0.0.1:8888";
    set $docroot        "/home/bitrix/www";

    index index.php;
    root /home/bitrix/www;

    # Redirect to ssl if need
    if (-f /home/bitrix/www/.htsecure) { rewrite ^(.*)$ https://$host$1 permanent; }

    # Include parameters common to all websites
    include bx/conf/bitrix.conf;

    # Include server monitoring locations
    include bx/server_monitor.conf;
}

s1_ssl.конф

# Default SSL certificate enabled website
server {
    listen  443 default_server ssl;
    server_name test.com;

    # Enable SSL connection
    include bx/conf/ssl.conf;
    server_name_in_redirect off;

    proxy_set_header    X-Real-IP   $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header    Host        $http_host:443;
    proxy_set_header    X-Forwarded-Host $http_host;
    proxy_set_header    X-Forwarded-Proto https;

    proxy_set_header    HTTPS       YES;

    set $proxyserver    "http://127.0.0.1:8888";
    set $docroot        "/home/bitrix/www";

    index index.php;
    root /home/bitrix/www;

    # Include parameters common to all websites
    include bx/conf/bitrix.conf;

    # Include server monitoring API's
    include bx/server_monitor.conf;

}

Когда я пытаюсь связать http://test.com/xyz / или https://test.com/xyz/ все в порядке. Но когда я пытаюсь связать, как http://test.com/xyz или https://test.com/xyz я получаю 400 неверный запрос, простой HTTP-запрос был отправлен на порт HTTPS

Этот вывод curl:

curl -I -k https://test.com/xyz
HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.2
Date: Mon, 22 Feb 2016 09:13:28 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: http://test.com:443/xyz/
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN

Почему протокол меняется на http?

У вопроса есть решение - Посмотреть?

Ответы - Проблема с Протоколом изменения после перенаправления 301 (Nginx / BitrixVM/CentOS6. 5) / Issue with change protocol after 301 redirect (Nginx/BitrixVM/CentOS6.5)

Является ответом!
Dmitriy

12.03.2016 12:21:00

вы забыли сказать, что ссылка на http://test.com/xyz это каталог.

что такое зло: mod_dir

Перенаправление "конечная косая черта" выдается, когда сервер получает запрос URL-адреса http://servername/foo/dirname где dirname-это a справочник. Каталоги требуют конечной косой черты, поэтому mod_dir выдает перенаправление на http://servername/foo/dirname/ .

и для него "HTTPS on" не работает, схема https: / / не будет

что должно быть сделано:

1) конфигурации nginx ничего не трогают

2) в конфигурациях httpd для вашего домена, например: /и т. д./httpd/ВХ/конф/bx_ext_site.местный.конф

где строка содержит имя вашего сервера, пример: Имя_сервера сайта.местный

дополнено следующим: https://

быть так: Имя_сервера https://site.местный

это все, что вам нужно

он работает без каких-либо перенаправлений

то есть проблема скрыта в руководстве http://httpd.apache.org/docs/2.2/mod/core.html#servername

Иногда сервер работает за устройством, которое обрабатывает SSL, например обратный прокси-сервер, балансировщик нагрузки или устройство разгрузки SSL. Когда это будет в этом случае укажите схему https:// и номер порта, на который будет клиенты подключаются в директиве ServerName, чтобы убедиться, что сервер генерирует правильные Самореферентные URL-адреса.

https://stackoverflow.com/questions/35660830/issue-with-change-protocol-after-301-redirect-nginx-bitrixvm-centos6-5/35950142#comment99459349_35950142
после многих поисков google и пробовал разные неудачные решения, это помогло мне, ура
Закрыть X