O apache do servidor https? Eu não entendo completamente sua situação, mas se você tiver o mod_proxy, você pode fazer o que quiser.
Eu tenho um VPS. Como eu me conecto ao meu servidor através do protocolo HTTPS e redireciono as conexões do meu navegador para a conexão HTTPS?
Atualmente, uso o túnel SSH, mas é muito lento.
O apache do servidor https? Eu não entendo completamente sua situação, mas se você tiver o mod_proxy, você pode fazer o que quiser.
Eu faço algo assim usando o OpenVPN. Meu laptop e celular podem se conectar ao meu servidor em casa usando SSL através de uma conexão TCP na porta 443. Isso é realmente útil quando estou em lugares indigestos que não permitem que você use qualquer porta além de 80 e 443. Aqui está uma configuração simples que realiza isso no servidor:
port 443
proto tcp
dev tun
server 10.44.3.0 255.255.255.0
ca ca.crt
cert cloud.crt
key cloud.key
dh dh2048.pem
script-security 2
push "redirect-gateway"
Em seguida, você diz ao servidor para realizar o NAT em pacotes provenientes de clientes VPN:
iptables -t nat -A POSTROUTING -s 10.44.3.0/24 -o eth0 -j MASQUERADE
Depois de me conectar, a rota de rede no meu dispositivo portátil é assim:
briankb@ubuntu:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.94.0.9 0.0.0.0 UG 0 0 0 tun0
192.79.68.0 0.0.0.0 255.255.255.128 U 1 0 0 eth0
10.94.0.1 10.94.0.9 255.255.255.255 UGH 0 0 0 tun0
10.94.0.9 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
121.119.173.12 192.79.68.1 255.255.255.255 UGH 0 0 0 eth0
A primeira linha diz que o gateway padrão do cliente é o servidor VPN, então todo o tráfego é enviado por ele. A próxima linha é a sub-rede que estou usando atualmente (faculdade wifi). A terceira e quarta linha são a sub-rede / rota da VPN, e a última linha diz usar a interface WAN atual para enviar pacotes para o servidor VPN.
Para obter instruções sobre como configurar o OpenVPN, consulte o guia Como . p>
Estou usando o Squid como servidor proxy e Stunnel como wrapper SSL. Tem um desempenho muito bom devido ao armazenamento em cache.
Após instalar o Squid, siga Documentações do Squid e configure-o. Aqui está a configuração de amostra:
http_port 3193 transparent cache_dir ufs /var/cache/squid 128 16 128 cache_mem 1 MB maximum_object_size_in_memory 512 KB maximum_object_size 1 MB visible_hostname hostname.com hierarchy_stoplist cgi-bin ? refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl localnet src 10.0.0.0/8 # RFC 1918 possible internal network acl localnet src 172.16.0.0/12 # RFC 1918 possible internal network acl localnet src 192.168.0.0/16 # RFC 1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT auth_param basic program /usr/libexec/squid/pam_auth auth_param basic children 5 auth_param basic realm Squidy auth_param basic credentialsttl 4 hours acl password proxy_auth REQUIRED http_access allow manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow password http_access allow localhost http_access allow localnet http_access deny all via off forwarded_for off request_header_access Allow allow all request_header_access Authorization allow all request_header_access WWW-Authenticate allow all request_header_access Proxy-Authorization allow all request_header_access Proxy-Authenticate allow all request_header_access Cache-Control allow all request_header_access Content-Encoding allow all request_header_access Content-Length allow all request_header_access Content-Type allow all request_header_access Date allow all request_header_access Expires allow all request_header_access Host allow all request_header_access If-Modified-Since allow all request_header_access Last-Modified allow all request_header_access Location allow all request_header_access Pragma allow all request_header_access Accept allow all request_header_access Accept-Charset allow all request_header_access Accept-Encoding allow all request_header_access Accept-Language allow all request_header_access Content-Language allow all request_header_access Mime-Version allow all request_header_access Retry-After allow all request_header_access Title allow all request_header_access Connection allow all request_header_access Proxy-Connection allow all request_header_access User-Agent allow all request_header_access Cookie allow all request_header_access All deny all
Ele escuta a porta 3193 tcp
. Em seguida, vêm as opções de cache, alguns comandos acl e auth_param
para autenticação PAM (provavelmente você não deseja abrir proxy e perdeu seu VPS para relatórios de spam). request_header_access
linhas não são necessárias. Eles te dão um melhor anonimato.
Instale o stunnel no servidor. Aqui está a configuração de amostra:
setuid = stunnel setgid = stunnel CAfile = /etc/stunnel/certs.pem CRLfile = /etc/stunnel/crls.pem [proxy] accept = 8888 connect = 127.0.0.1:3193
Provavelmente, arquivos de certificação feitos na instalação do stunnel. verifique o caminho do arquivo em CAfile
. Ele simplesmente escuta a porta 8888 tcp
e redireciona o fluxo decriptografado para o Squid. Então, tenha certeza que é alcançável:
iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT
Você não precisa mais escutar a porta de escuta mais acessível.
Instale o stunnel em sua máquina local e altere essa configuração de acordo com suas necessidades:
setuid = stunnel setgid = stunnel pid = /var/run/stunnel/stunnel.pid [poxy] accept = 8123 connect = server_ip:8888 client = yes libwrap = no
Substitua server_ip pelo valor apropriado. então inicie o Squid no servidor e o Stunnel no cliente e no servidor. defina o proxy como localhost:8123
no seu navegador. Se tudo funcionar, você deve ser solicitado a fornecer nome de usuário e senha.
Minha bola de cristal diz que você deve dar uma olhada no link
Caso a bola esteja errada, não vai doer de qualquer maneira.
Eu nunca configurei nada em um host virtual, mas aqui estão algumas informações sobre HTTPS em geral:
O HTTPS usa uma combinação de HTTP e SSL (consulte o artigo da wikipedia aqui: link ). O HTTPS não é realmente o seu próprio protocolo, mas sim o HTTP normal em execução em um túnel SSL.
O HTTPS usa CA (Certificate Authories) e PKI (Public Key Infrastructure) para garantir que os usuários possam 'confiar' no site. Você deve criar um certificado de chave pública para seu servidor da Web e que deve ser assinado por uma CA confiável (como a VeriSign). Para obter um certificado confiável, pode custar-lhe uma taxa anual para manter.
Se você não passar por uma CA confiável, os usuários receberão um aviso quando tentarem se conectar ao seu site. Isso muitas vezes pode levar os usuários a se desviar do seu site, pois eles podem vê-lo como um risco de segurança.
Além disso, lembre-se de que, embora o HTTP use a porta 80 por padrão, o HTTPS usa 443, portanto, se você tiver algum encaminhamento de porta / bloqueio de porta, precisará garantir que esteja aberto para conexão. Para usar o HTTPS, você também precisará garantir que você o digite na URL quando navegar para o site, caso contrário, provavelmente usará HTTP.
EDIT: Aqui está uma boa introdução ao funcionamento do HTTPS: link
Basta ativar HTTPS e mod_alias
no Apache e adicionar uma regra de redirecionamento como a seguinte:
<VirtualHost *:80>
.
.
.
Redirect permanent / https://yoursite.com/
</VirtualHost>
A configuração padrão varia entre sistemas operacionais / distribuições, então não posso ser mais específico do que isso. É melhor especificar suas versões de SO e software nas perguntas para que você possa obter respostas melhores; -).
Conecte-se ao seu servidor por meio do SSH e configure o encaminhamento de porta: ssh -L 80:localhost:80 username@hostname
. A porta remota 80 (seu servidor web) será tunelada via SSH para a porta 80 do seu PC. Agora, aponte seu navegador para o link
Você pode ter que estender uma linha em seu arquivo / etc / hosts: 127.0.0.1 hostname