NOTE: Проблема решена. Стоял фаерволл на уровне провайдера, где не было прописано разрешение на 443 порт.
Есть CentOS 7 сервер (явно нигде этого не прописано, достался по наследству, предыдущие ребята даже не знали что стоит там).
yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.switch.ch
* epel: fr2.rpmfind.net
* extras: mirror.switch.ch
* updates: mirror.switch.ch
repo id repo name status
base/7/x86_64 CentOS-7 - Base 9,591
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 11,954
extras/7/x86_64 CentOS-7 - Extras 223
updates/7/x86_64 CentOS-7 - Updates 719
repolist: 22,487
uname -a
Linux fake-server-name 3.10.0-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Из чего делаю вывод, что это CentOS 7.
Есть nginx на который добавляю ssl сертификат + rails сайт за ним. Получаю:
на локальном компе:
HTTP запрос:
[root@fake-server-name sysconfig]# curl http://fake-site-url -v -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* About to connect() to fake-site-url port 80 (#0)
* Trying fake-ip...
* Connected to fake-site-url (fake-ip) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: fake-site-url
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.6.3
< Date: Sat, 23 Sep 2017 08:06:42 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< ETag: W/"458bdc95cc58e23b0a6c6c1e30f4ec8f"
< Cache-Control: max-age=0, private, must-revalidate
< Set-Cookie: _fake-site-url_session=TE9YZjhiOTZtcXo0aXQ3U3VRNHFBYUZQRU4yV2dIbWY2eVJhNjRMc0wwNkUzTWpQUEgvdUJQbnpuQldNMkRNOEdTZVJ3SzdOM2pmYVk4TXYvNytwNGJ1YlpFRVl4eDBmNXByUDNnczV3WU5xYnlEcnNoRHJXdjhxeWZvSktidDN6UHNvWk9wa293QUV4NTRtTEdUSEdnPT0tLUFZWFA5UC9wd2ZwdStCbklDanh3bEE9PQ%3D%3D--1124c1f8f8ede892469e41c574efde3189716f1e; path=/; HttpOnly
< X-Request-Id: 5bba184e-f4b7-4387-bac6-292d3f7801b6
< X-Runtime: 0.038349
<
{ [data not shown]
100 26489 0 26489 0 0 379k 0 --:--:-- --:--:-- --:--:-- 380k
* Connection #0 to host fake-site-url left intact
HTTPS запрос:
[root@fake-server sysconfig]# curl https://fake-server-url -v -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* About to connect() to fake-server-url port 443 (#0)
* Trying fake-ip...
* Connected to fake-server-url (fake-ip) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
* SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate:
* subject: CN=fake-server-url
* start date: Sep 22 06:44:00 2017 GMT
* expire date: Dec 21 06:44:00 2017 GMT
* common name: fake-server-url
* issuer: CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: fake-server-url
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.6.3
< Date: Sat, 23 Sep 2017 08:08:21 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-XSS-Protection: 1; mode=block
< X-Content-Type-Options: nosniff
< ETag: W/"888c46b942ebf9e4ed82d8816c10ee26"
< Cache-Control: max-age=0, private, must-revalidate
< Set-Cookie: _fake-server-url_session=ODhpQlM2R3hjeU9wNkdrSUw2S3pkc3lGaVJ1bUpKVnhiYjlEUHAxZ0U1U0xLczBQdmcyaGtkb2RPNXBjcnN6aVhZU1FHS0F5cTEyRUQxRm1TZkFPUjZYNHdPa0Y0cVBZcXhFU3ZBcUJsL0J4ZlBDY1dMd3lEMENFN2NHd1NFbk8yNU9tcEFkOEt4YUR1RTBQZGFma25BPT0tLXVJQXVJdHYzbmRLN3ZMU3l2SUdMOFE9PQ%3D%3D--5eaf54d2edff50b315adcc177c88ccb6c45b1018; path=/; HttpOnly
< X-Request-Id: 39fe1d9e-f28d-4201-b810-69a62c0f1031
< X-Runtime: 0.034791
<
{ [data not shown]
100 26489 0 26489 0 0 185k 0 --:--:-- --:--:-- --:--:-- 186k
* Connection #0 to host fake-server-url left intact
А при коннекте с удалённого компа, по HTTPS, получаю отсутствие коннетка (прервал по Ctrl+C, очевидно, что ответа нет, т.к. по HTTP всё отлично работает):
norgat@laptop ~ $ curl https://fake-server-url -v -o /dev/null
* Rebuilt URL to: https://fake-server-url
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying fake-ip...
0 0 0 0 0 0 0 0 --:--:-- 0:01:10 --:--:-- 0^C
Я правильно понимаю, что на локальном сервере закрыт 443 порт для внешних коннектов? nginx слушает 80 и 443:
[root@fake-server sysconfig]# netstat -ltupn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 768/redis-server 12
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5564/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 757/sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1729/postgres
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1224/master
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 5564/nginx: master
tcp 0 0 127.0.0.1:8891 0.0.0.0:* LISTEN 783/opendkim
tcp 0 0 0.0.0.0:2812 0.0.0.0:* LISTEN 767/monit
tcp6 0 0 :::22 :::* LISTEN 757/sshd
tcp6 0 0 ::1:5432 :::* LISTEN 1729/postgres
tcp6 0 0 :::25 :::* LISTEN 1224/master
udp 0 0 0.0.0.0:68 0.0.0.0:* 703/dhclient
udp 0 0 127.0.0.1:323 0.0.0.0:* 503/chronyd
udp 0 0 0.0.0.0:49597 0.0.0.0:* 703/dhclient
udp6 0 0 :::51326 :::* 703/dhclient
udp6 0 0 ::1:323 :::* 503/chronyd
Стоит и запущен iptables, firewalld нет:
[root@fake-server sysconfig]# systemctl list-units | grep iptables
iptables.service loaded active exited IPv4 firewall with iptables
[root@fake-server sysconfig]# systemctl list-units | grep firewall
iptables.service loaded active exited IPv4 firewall with iptables
iptables сейчас сброшен через iptables -F.
Вот что говорил nmap с внешней машины:
norgat@laptop ~ $ sudo nmap -p 80,443 fake-server-url
Starting Nmap 7.01 ( https://nmap.org ) at 2017-09-23 12:20 +04
Nmap scan report for fake-server-url (fake-ip)
Host is up (0.077s latency).
PORT STATE SERVICE
80/tcp open http
443/tcp filtered https
Nmap done: 1 IP address (1 host up) scanned in 2.01 seconds
Куда копать? Какие правила для iptables поставить (пробовал из гугла для открытия 443 порта, но что-то не взлетело пока).