Como ativar o TLS 1.3 no Apache no Fedora 30
Usando um sistema diferente? O TLS 1.3 é uma versão do protocolo TLS (Transport Layer Security) publicada em 2018 como um padrão proposto no RFC 8446
O NGINX pode ser usado como servidor HTTP / HTTPS, servidor proxy reverso, servidor proxy de correio, balanceador de carga, terminador TLS ou servidor de cache. É bastante modular por design. Possui módulos nativos e módulos de terceiros criados pela comunidade. Escrito na linguagem de programação C, é um software muito rápido e leve.
NOTA : O NGINX possui dois fluxos de versão que são executados em paralelo - estável e linha principal . Ambas as versões podem ser usadas em um servidor de produção. É recomendável usar a versão principal na produção.
Instalar o NGINX a partir do código-fonte é relativamente "fácil" - faça o download da versão mais recente do código-fonte NGINX, configure, construa e instale-o.
Neste tutorial, usarei a versão da linha principal , que é 1.13.3 no momento da redação. Atualize os números de versão de acordo quando versões mais recentes estiverem disponíveis.
Requisitos obrigatórios:
Requisitos opcionais:
Mude para o novo usuário:
su - <username>
Sistema de atualização:
sudo dnf check-update || sudo dnf upgrade -y
Instale "Ferramentas de Desenvolvimento", editor Vim, wget e gcc-c ++:
sudo dnf install -y @development-tools && sudo dnf install -y vim wget gcc-c++
Baixe a versão principal mais recente do código-fonte NGINX e descompacte-o:
wget https://nginx.org/download/nginx-1.13.3.tar.gz && tar zxvf nginx-1.13.3.tar.gz
Faça o download do código-fonte das dependências do NGINX e extraia-os:
# PCRE version 8.41
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz && tar xzvf pcre-8.41.tar.gz
# zlib version 1.2.11
wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz
# OpenSSL version 1.1.0f
wget https://www.openssl.org/source/openssl-1.1.0f.tar.gz && tar xzvf openssl-1.1.0f.tar.gz
Baixe e instale dependências opcionais do NGINX:
# perl
sudo dnf install -y perl perl-devel perl-ExtUtils-Embed
# libxslt
sudo dnf install -y libxslt libxslt-devel
# libxml2
sudo dnf install -y libxml2 libxml2-devel
# libgd
sudo dnf install -y gd gd-devel
# GeoIP
sudo dnf install -y GeoIP GeoIP-devel
# Libatomic_Ops
sudo dnf install -y libatomic_ops libatomic_ops-devel
Remova todos os .tar.gz
arquivos. Não precisamos mais deles:
rm -rf *.tar.gz
Vá para o diretório de origem NGINX:
cd ~/nginx-1.13.3
Para uma boa medida, liste os arquivos e diretórios de código-fonte NGINX:
ls
# auto CHANGES CHANGES.ru conf configure contrib html LICENSE man README src
Copie a página de manual do NGINX para /usr/share/man/man8/
:
sudo cp ~/nginx-1.13.3/man/nginx.8 /usr/share/man/man8/
sudo gzip /usr/share/man/man8/nginx.8
# Check that Man page for NGINX is working
man nginx
Para obter ajuda, você pode listar opções de configuração disponíveis executando:
./configure --help
# To see want core modules can be build as dynamic run:
./configure --help | grep -F =dynamic
Configure, compile e instale o NGINX:
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib64/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--build=Fedora \
--builddir=nginx-1.13.3 \
--with-select_module \
--with-poll_module \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-perl=/usr/bin/perl \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-stream_ssl_preread_module \
--with-compat \
--with-pcre=../pcre-8.41 \
--with-pcre-jit \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.0f \
--with-openssl-opt=no-nextprotoneg \
--with-debug
make
sudo make install
Imprima a versão NGINX, a versão do compilador e configure os parâmetros do script:
nginx -V
# nginx version: nginx/1.13.3 (Fedora)
# built by gcc 6.3.1 20161221 (Red Hat 6.3.1-1) (GCC)
# built with OpenSSL 1.1.0f 25 May 2017
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx . . .
# . . .
Crie o usuário e o grupo do sistema NGINX:
sudo useradd --system --home /var/cache/nginx --shell /sbin/nologin --comment "nginx user" --user-group nginx
Verifique a sintaxe e os possíveis erros:
sudo nginx -t
# Will throw this error: nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)
# Just create directory
sudo mkdir -p /var/cache/nginx/ && sudo nginx -t
Crie um arquivo de unidade systemd para NGINX:
sudo vim /etc/systemd/system/nginx.service
Copie / cole o seguinte conteúdo:
NOTA : O local do
PID
arquivo e o binário do NGINX podem ser diferentes dependendo de como o NGINX foi compilado.
[Unit]
Description=Nginx - A high performance web server and a reverse proxy server
Documentation=http://nginx.org/en/docs/
After=network.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /var/run/nginx.pid
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target
Inicie o NGINX:
sudo systemctl start nginx.service
Habilite o NGINX para iniciar automaticamente na inicialização:
sudo systemctl enable nginx.service
Verifique se o NGINX será inicializado após uma reinicialização:
sudo systemctl is-enabled nginx.service
# enabled
Verifique se o NGINX está em execução:
sudo systemctl status nginx.service
ps aux | grep nginx
curl -I 127.0.0.1
Reinicie seu VPS para verificar se o NGINX é iniciado automaticamente:
sudo shutdown -r now
Remova os arquivos arcaicos do /etc/nginx/
diretório:
sudo rm /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
Coloque a sintaxe destacando os arquivos da configuração do NGINX vim
em ~/.vim/
. Você verá uma sintaxe destacada ao editar o arquivo de configuração do NGINX:
mkdir ~/.vim/
cp -r ~/nginx-1.13.3/contrib/vim/* ~/.vim/
Faça um conf.d/
diretório no /etc/nginx/
diretório Nesse diretório, você pode colocar servidores virtuais e upstreams:
sudo mkdir /etc/nginx/conf.d/
Remova diretórios e arquivos extraídos do diretório inicial:
rm -rf nginx-1.13.3/ openssl-1.1.0f/ pcre-8.41/ zlib-1.2.11/
É isso aí. Agora você tem a versão mais recente do NGINX instalada. É compilado estaticamente em algumas bibliotecas importantes como o OpenSSL. Freqüentemente, a versão do OpenSSL do sistema está desatualizada. Usando esse método de instalação com uma versão mais recente do OpenSSL, você pode tirar proveito de novas cifras CHACHA20_POLY1305
e protocolos como o TLS 1.3, que estarão disponíveis no OpenSSL 1.1.1
(que ainda não foi lançado).
Usando um sistema diferente? O TLS 1.3 é uma versão do protocolo TLS (Transport Layer Security) publicada em 2018 como um padrão proposto no RFC 8446
Usando um sistema diferente? o osTicket é um sistema de bilheteria de suporte ao cliente de código aberto. O código fonte do osTicket está hospedado publicamente no Github. Neste tutorial
Usando um sistema diferente? O WonderCMS é um CMS de arquivo simples, rápido e pequeno, de código aberto, escrito em PHP. O código fonte do WonderCMS está hospedado no Github. Este guia irá
Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL
Usando um sistema diferente? O MyBB é um programa de fórum gratuito, de código aberto, intuitivo e extensível. O código fonte do MyBB está hospedado no GitHub. Este guia mostrará
Usando um sistema diferente? O Reader Self 3.5 é um leitor de RSS auto-hospedado, simples e flexível, gratuito e de código aberto, e uma alternativa ao Google Reader. Leitor Sel
Usando um sistema diferente? O RainLoop é um cliente de email simples, moderno e rápido baseado na Web. O código-fonte do RainLoop está hospedado no GitHub. Este guia irá mostrar-lhe como
Usando um sistema diferente? O Gitea é um sistema de controle de versão auto-hospedado alternativo, de código aberto, desenvolvido com o Git. Gitea está escrito em Golang e é
Usando um sistema diferente? O Paste 2.1 é um aplicativo pastebin simples e flexível, gratuito e de código aberto para armazenar código, texto e muito mais. Foi inicial
Usando um sistema diferente? O ProcessWire CMS 3.0 é um CMS (Content Management System) simples, flexível e poderoso, de código aberto e gratuito. ProcessWire CMS 3.
Usando um sistema diferente? Omeka Classic 2.4 CMS é uma plataforma de publicação digital de código aberto e gratuita e um Sistema de gerenciamento de conteúdo (CMS) para compartilhamento de documentos
Usando um sistema diferente? O MODX Revolution é um sistema de gerenciamento de conteúdo (CMS) de nível empresarial, rápido, flexível, escalável, gratuito e de código aberto
Usando um sistema diferente? O Lychee 3.1 Photo Album é uma ferramenta de gerenciamento de fotos simples e flexível, gratuita e de código aberto, executada em um servidor VPS. Instala
Usando um sistema diferente? O HTMLDoc analisará dinamicamente documentos Postscript (PDF 1.6) a partir de Hipertexto gravado corretamente (HTML 3.2). Isso permitirá que você t
Usando um sistema diferente? O ImpressPages CMS 5.0 é um sistema de gerenciamento de conteúdo (CMS) simples e eficaz, gratuito e de código aberto, fácil de usar e baseado em MVC
Usando um sistema diferente? O Pagekit 1.0 CMS é um sistema de gerenciamento de conteúdo (CMS) bonito, modular, extensível e leve, gratuito e de código aberto com
Usando um sistema diferente? O Matomo (anteriormente Piwik) é uma plataforma de análise de código aberto, uma alternativa aberta ao Google Analytics. Fonte Matomo está hospedado o
Usando um sistema diferente? O Ghost é uma plataforma de blog de código aberto que está ganhando popularidade entre desenvolvedores e usuários comuns desde seu lançamento em 2013. Eu
Usando um sistema diferente? O Couch CMS é um sistema de gerenciamento de conteúdo (CMS) simples e flexível, gratuito e de código aberto que permite que os web designers
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.
O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+
Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.
Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais
13 Ferramentas de Extração de Dados Comerciais de Big Data
Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true
À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.
Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1
A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA na área da saúde ainda está crescendo dia a dia.