Problemer med SSL [LØST]
Jeg har installeret et SSL certifikat på serveren men kan ikke få hul igennem til den via https. Dvs. med almindelig http er der fint hul igennem, men ved https fås "Failed to connect".
Installationen af certifikatet gik fint, og jeg tror at problemet ligger et helt andet sted, måske noget firewall.
For hvis jeg laver en SSH tunnel til serveren således:
og så laver dette i min hosts fil:
Så kan jeg fint tilgå siden i browseren vha https://mitdomæne.dk.
Det virker altså perfekt når jeg forwarder port 443 direkte ind på serveren over SSH.
Og netstat -lpn viser at apache lytter på 443 som den skal.
Tyder det ikke på noget firewall eller anden portblokering? Eller er det en eller anden detalje jeg har overset?
Det er i øvrigt Apache på Debian Lenny.
Installationen af certifikatet gik fint, og jeg tror at problemet ligger et helt andet sted, måske noget firewall.
For hvis jeg laver en SSH tunnel til serveren således:
sudo ssh -N -l root -L 443:localhost:443 mitdomæne.dk
og så laver dette i min hosts fil:
127.0.0.1 mitdomæne.dk
Så kan jeg fint tilgå siden i browseren vha https://mitdomæne.dk.
Det virker altså perfekt når jeg forwarder port 443 direkte ind på serveren over SSH.
Og netstat -lpn viser at apache lytter på 443 som den skal.
Tyder det ikke på noget firewall eller anden portblokering? Eller er det en eller anden detalje jeg har overset?
Det er i øvrigt Apache på Debian Lenny.
Kommentarer7
Det kunne godt lyde som firewall problem
telnet er din ven.
bruger lige google.dk som eks.
telnet google.dk 443
Trying 173.194.69.94...
Connected to google.dk.
Escape character is '^]'
når der står Escape bla bla, så er der hul igennem.
(hvis ikke, så er det nok et firewall problem).
hvis det virker, så kan du bruge openssl til at hente certificatet med.
openssl s_client -connect google.dk:443
/The Stig
check firewall
# /sbin/iptables-save > fw-rules
# less fw-rules
og check om der er nogle regler. hvis ja så er det at huske hvilket firewall config script du aktiverede, og endre reglerne.
telnet er din
telnet på port 443 var faktisk det første jeg prøvede, men jeg glemte at nævne det.
openssl kommandoen virker fint kørt på selve serveren, men hjemme fra mig selv er der ingen forbindelse.
#2: og check om der er nogle regler. hvis ja så er det at huske hvilket firewall config script du aktiverede, og endre reglerne.
Der er ingen regler defineret i iptables. Men jeg tror at det er udbyderen (Danhost) der har en ekstern firewall, det har nemlig været problemet flere gange fx i forbindelse med rdp protokollen på en virtuel windows server på maskinen.
Findes der et værktøj der kan lytte på en vilkårlig port så man kan se om der er forbindelse udefra?
netcat
Findes der et værktøj der kan lytte på en vilkårlig port så man kan se om der er forbindelse udefra?
man nc
i dit tilfælde som root(vil formenteligt fejle hvis apache også lytter)
#nc -lp 443
#nc 127.0.0.1:443
#nc eth_ip:443
#nc public_ip:443
hvis kun public ip fejler ja så skal du nok snakke med udbyder.
man nc
Smart program!
Smart program! Det kendte jeg ikke. Syntaksen er i øvrigt
nc 127.0.0.1 443
altså uden kolon.
Der er ikke hul igennem, så det tyder stadig på en ekstern firewall.
nmap
nmap -PN -p 443 dinserver.dk
hvis den reportere filtered kan du være rimelig sikker på at det er et firewall problem et eller andet sted.
Tak for hjælpen :)
Det VAR
Det VAR firewallen selv om Danhost påstod at den var åben på port 443.
De hundehoveder har kostet mig flere timer i unødvendig fejlsøgning indtil jeg med jeres hjælp fik stablet så mange "beviser" på bordet at de måtte bøje sig i støvet og erkende at den alligevel ikke var åben.
Hvor bliver jeg sur over den slags.