Обратный прокси-сервер Python3 http через Nginx - PullRequest
0 голосов
/ 10 мая 2019

Таким образом, я разрешил только порт 80 и порт 22 в моем экземпляре Ubuntu и запустил простой HTTP-сервер, используя

python3 -m http.server 8080 --bind 127.0.0.1

Теперь я могу свернуть порт, чтобы проверить, работает ли он

curl 127.0.0.1:8080

Теперь я устанавливаю nginx с

sudo apt-get -y install nginx

Таким образом, мой текущий экземпляр показывает страницу индекса Nginx на порту 80 по умолчанию, когда я получаю к нему доступ.

Теперь я проверяю папку /etc/nginx/ для получения дополнительной информации, читая файл nginx.conf.

Вопрос в том, каким должно быть содержимое /etc/nginx/sites-available/myapp, где nginx прослушивает порт 80 и перенаправляет на 127.0.0.1:8080 и что мне нужно изменить в файле nginx.conf, чтобы сделать его доступным. Я в основном хочу перенаправить содержимое этого URL, не беспокоясь о том, является ли он флеш-сервером или wsgi или приложением узла, так как они, кажется, имеют какую-то специальную конфигурацию для заголовков и сред.

Дополнительная информация:

  1. Пока нет https, но позже придется использовать его для шифрования HTTP-запросов POST через SSL на порту 443
  2. Чтобы включить /etc/nginx/sites-available/myapp Я видел сообщения, предлагающие запустить sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/myapp, чтобы программная ссылка включила сайт, а затем перезапустил службу nginx с sudo service nginx restart. Также мой configtest терпит неудачу, когда я запускаю sudo service nginx configtest, потому что я переименовал sites-available/default.
  3. Вы можете просмотреть журналы запросов в /var/log/nginx/
  4. nginx -v версия nginx: nginx / 1.14.0

Какую документацию или ресурсы мне следует изучить, чтобы освоиться с nginx? Я сейчас читаю https://www.nginx.com/resources/wiki/start/

Вот пример кода, который я пробовал в myapp, который не работает

server {
    listen 80;
    server_name ip_addr_here;

    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         "http://127.0.0.1:8080";
    }
}

...