Невозможно перенаправить HTTP на HTTPS на NGINX

Сценарий ниже позволяет администратору хранить персонализированные сообщения в форме username_mm_dd_yyyy.txt в административном каталоге. Имя пользователя определяется автоматически и сопоставляется с именем файла и датой файла, который будет отображаться.

Сценарий также может иметь запись .desktop, которая должна быть помещена в каталог /etc/xdg/autostart. Это сделает скрипт отображаемым для каждого пользователя. В качестве альтернативы вы можете поместить файл .desktop в каталог каждого пользователя ~/.config/autostart.

#!/bin/bash
_get_username()
{
  qdbus  com.canonical.Unity  \
        /com/canonical/Unity/Session \
        com.canonical.Unity.Session.UserName
}

_get_date()
{
  date +%m_%d_%Y
}

_show_error()
{
  MESSAGE="Can't read the file or file doesn't exist. Contact the admin for assistance"

  zenity --error --title="Ooops, something went wrong!" --text="$MESSAGE"
}

main()
{
  # replace this with the actual directory 
  # that you want to use for storing messages
  MESSAGES_DIRECTORY="/tmp"

  # file name is made up of username_mm_dd_yyyy
  FILE="$MESSAGES_DIRECTORY"/"$( _get_username )"_"$( _get_date )".txt
  echo "$FILE"
  if [ -r "$FILE"   ] ; then
     zenity --text-info  --title="Welcome, $( _get_username )" --filename="$FILE"
  else
     _show_error
  fi
}

main

Ниже вы можете увидеть небольшую демонстрацию сценария в действии. Я создал файл в указанном формате в моей папке /tmp

1
задан 12 April 2018 в 06:26

2 ответа

Для каждого сайта, который вы хотите обслуживать, вам нужны отдельные серверные {} разделы для каждого сайта, и при условии, что вы хотите различное поведение на основе того, достигли ли пользователи http: или https:, их необходимо определить как отдельный сервер { }.

В одном вы прослушали порт 80, а другой, вы прослушали бы порт 443 и включили ssl и http2.

В том, который прослушивает порт 80, единственное, что вы хотите объявить в этом разделе, - это перенаправление на тот же URL-адрес, но с https:.

На моем сайте эти рекурсивные заглушки выглядят так:

server { listen 80; listen [::]:80; server_name some.example.com; return 301 https://some.example.com$request_uri; }
0
ответ дан 17 July 2018 в 17:00

Для каждого сайта, который вы хотите обслуживать, вам нужны отдельные серверные {} разделы для каждого сайта, и при условии, что вы хотите различное поведение на основе того, достигли ли пользователи http: или https:, их необходимо определить как отдельный сервер { }.

В одном вы прослушали порт 80, а другой, вы прослушали бы порт 443 и включили ssl и http2.

В том, который прослушивает порт 80, единственное, что вы хотите объявить в этом разделе, - это перенаправление на тот же URL-адрес, но с https:.

На моем сайте эти рекурсивные заглушки выглядят так:

server { listen 80; listen [::]:80; server_name some.example.com; return 301 https://some.example.com$request_uri; }
0
ответ дан 23 July 2018 в 17:51

Другие вопросы по тегам:

Похожие вопросы: