Tengo un VPS. ¿Cómo me conecto a mi servidor a través del protocolo HTTPS y redirijo las conexiones de mi navegador a la conexión HTTPS?
Actualmente uso el túnel SSH pero es demasiado lento.
Respuesta1
Estoy usando Squid como servidor proxy ytúnelcomo contenedor SSL. Tiene muy buen rendimiento gracias al almacenamiento en caché.
Configuración de calamar
Después de instalar Squid, sigaDocumentaciones de calamary configurarlo. Aquí hay una configuración de muestra:
http_port 3193 transparente cache_dir ufs /var/cache/squid 128 16 128 memoria_caché 1 MB tamaño_máximo_objeto_en_memoria 512 KB tamaño_objeto_máximo 1 MB visible_hostname nombre_host.com jerarquía_stoplist cgi-bin? patrón_actualización ^ftp: 1440 20% 10080 patrón_actualización ^gopher: 1440 0% 1440 patrón_actualización -i (/cgi-bin/|\?) 0 0% 0 patrón_actualización. 0 20% 4320 administrador de acl proto cache_object acl localhost origen 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 posible red interna acl localnet src 172.16.0.0/12 # RFC 1918 posible red interna acl localnet src 192.168.0.0/16 # RFC 1918 posible red interna acl localnet src fc00::/7 # RFC 4193 rango de red privada local acl localnet src fe80::/10 # RFC 4291 máquinas de enlace local (conectadas directamente) acl SSL_ports puerto 443 acl Puertos_seguros puerto 80 # http acl Safe_ports puerto 21 # ftp acl Safe_ports puerto 443 # https acl Safe_ports puerto 70 # gopher acl Safe_ports puerto 210 # wais acl Safe_ports puerto 1025-65535 # puertos no registrados acl Safe_ports puerto 280 # http-mgmt acl Safe_ports puerto 488 # gss-http acl Safe_ports puerto 591 # creador de archivos acl Safe_ports puerto 777 # multiling http acl método CONNECT CONECTAR programa básico auth_param /usr/libexec/squid/pam_auth auth_param niños básicos 5 auth_param reino básico Squidy auth_param credenciales básicasttl 4 horas acl contraseña proxy_auth REQUERIDO http_access permitir administrador http_access denegar !Safe_ports http_access denegar CONECTAR !SSL_ports http_access permitir contraseña http_access permite localhost http_access permitir localnet http_access denegar todo vía apagado reenviado_para apagado request_header_access Permitir permitir todo request_header_access Autorización permitir todo request_header_access WWW-Authenticate permitir todo request_header_access La autorización de proxy permite todo request_header_access Proxy-Authenticate permite todo request_header_access Cache-Control permite todo request_header_access La codificación de contenido permite todo request_header_access Longitud del contenido permitir todo request_header_access Tipo de contenido permitir todo request_header_access Fecha permitir todo request_header_access Expira permitir todo request_header_access El host permite todo request_header_access Si se modifica, ya que permite todo request_header_access Última modificación permitir todo request_header_access Ubicación permitir todo request_header_access Pragma permite todo request_header_access Aceptar permitir todo request_header_access Aceptar-Charset permitir todo request_header_access Aceptar-Codificación permitir todo request_header_access Aceptar-Idioma permitir todo request_header_access Contenido-Idioma permitir todo request_header_access La versión Mime permite todo request_header_access Reintentar-Después de permitir todo request_header_access Título permitir todo request_header_access Conexión permitir todo request_header_access La conexión proxy permite todo request_header_access Usuario-Agente permitir todo request_header_access Cookie permitir todo request_header_access Todo negar todo
Escucha puerto 3193 tcp
. Luego vienen las opciones de almacenamiento en caché, algunos comandos acl y auth_param
para la autenticación PAM (probablemente no desee abrir el proxy y haya perdido su VPS por informes de spam). request_header_access
No se requieren líneas. Te dan un mejor anonimato.
Configuración del servidor Stunnel
Instale stunnel en el servidor. Aquí hay una configuración de muestra:
setuid = túnel setgid = túnel Archivo CA = /etc/stunnel/certs.pem Archivo CRL = /etc/stunnel/crls.pem [apoderado] aceptar = 8888 conectar = 127.0.0.1:3193
Probablemente archivos de certificación realizados en la instalación de stunnel. verifique la ruta del archivo en CAfile
. Simplemente escucha el puerto 8888 tcp
y redirige la transmisión descifrada a Squid. Así que asegúrese de que sea accesible:
iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT
Ya no es necesario que el puerto de escucha de calamares sea accesible en todo el mundo.
Configuración del cliente Stunnel
Instale stunnel en su máquina local y cambie esta configuración según sus necesidades:
setuid = túnel setgid = túnel pid = /var/run/stunnel/stunnel.pid [poxi] aceptar = 8123 conectar = server_ip:8888 cliente = si libwrap = no
Reemplace server_ip con el valor apropiado. luego inicie Squid en el servidor y Stunnel en el cliente y el servidor. configure el proxy como localhost:8123
en su navegador. Si todo funciona, se le debe solicitar el nombre de usuario y la contraseña.
Respuesta2
¿El servidor https es apache? No entiendo completamente tu situación, pero si tienes mod_proxy, es posible que puedas hacer lo que quieras.
Respuesta3
Nunca configuré nada en un host virtual, pero aquí hay información sobre HTTPS general:
HTTPS utiliza una combinación de HTTP y SSL (consulte el artículo de Wikipedia aquí:http://en.wikipedia.org/wiki/HTTP_Secure). HTTPS no es realmente su propio protocolo per se, sino más bien un HTTP normal que se ejecuta en un túnel SSL.
HTTPS utiliza CA (autoridades certificadoras) y PKI (infraestructura de clave pública) para garantizar que los usuarios puedan "confiar" en el sitio. Debe crear un certificado de clave pública para su servidor web y debe estar firmado por una CA confiable (como VeriSign). Obtener un certificado confiable puede costarle una tarifa anual para mantenerlo.
Si no utiliza una CA confiable, los usuarios recibirán una advertencia cuando intenten conectarse a su sitio. A menudo, esto puede llevar a los usuarios a desviarse de su sitio porque podrían verlo como un riesgo para la seguridad.
Además, tenga en cuenta que, si bien HTTP usa el puerto 80 de forma predeterminada, HTTPS usa el 443, por lo que si tiene algún reenvío/bloqueo de puerto, deberá asegurarse de que esté abierto para conectarse. Para utilizar HTTPS, también deberá asegurarse de escribirlo en la URL cuando navegue al sitio; de lo contrario, es probable que utilice HTTP de forma predeterminada.
EDITAR: Aquí hay una buena introducción a cómo funciona HTTPS: http://securityworkshop.blogspot.com/2009/01/how-httpsssl-works-part-1-basics.html
Respuesta4
Mi bola de cristal dice que deberías echarle un vistazo.http://www.stunnel.org/static/stunnel.html
En caso de que la pelota esté mal, no dolerá de todos modos.