Назад | Перейти на главную страницу

apache + lighttpd на debian, оба должны использовать ssl, порт 443 уже используется

Я установил apache и lighttpd в debian 7, apache использовал порт 80 и lighttpd 88, теперь я устанавливаю ssl для apache (443), и когда я попытался сделать то же самое для lighttpd, я получил ошибку, потому что 443 уже используется apache.

как я могу заставить оба ssl работать? без отключения apache ssl. могу я просто использовать другой порт для lighttpd? есть порты только для https? Я попробовал 445, но он не работает. Я также попытался сделать папку iptables (файл rules.v4) безуспешной:

SERVER_IP="..."
iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d $SERVER_IP --dport 445 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 445 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

вот что я добавил в lighttpd:

$SERVER["socket"] == "127.0.0.1:445" {
  ssl.engine = "enable" 
  ssl.pemfile = "/etc/lighttpd/certs/bla.com/server.pem" 
}

Конечно, вы можете и должны, чтобы lighttpd прослушивал порт, отличный от того, который прослушивает apache. В любой момент времени только один процесс может прослушивать комбинацию "IP: PORT"

используя

$SERVER["socket"] == "127.0.0.1:445"

ваш lighttpd будет прослушивать только localhost для порта 445, поэтому он не будет доступен из сети, если вы не выполните некоторые IPTABLES Destination Nat. Если вам нужно, чтобы lighttpd был доступен извне, просто установите для него значение

$SERVER["socket"] == ":445"

Также после запуска процессов попробуйте подтвердить, что они прослушивают порты, как вы ожидаете, запустив

$ sudo netstat -nlp | egrep -i "apache | httpd"