Если Вы все еще имеете проблемы с помощью ванильного ядра в CentOS, после генерации конфигурации (localmodconfig, oldconfig, и т.д.), изменяете .config файл и удостоверяетесь, что эти опции установлены на Y для:
CONFIG_EXT3_FS=y
CONFIG_SYSFS_DEPRECATED_V2=y
Это добилось цели для меня в 2 системах, 1 физическая система, идущая от CentOS 4.x и VM под virtualbox с новой установкой CentOS 5.4, оба работали без любых проблем.
После выполненного изменения:
сделать
сделайте modules_install
сделайте установку
если никакие ошибки - перезагрузка.
Проблема в том, что нет эквивалента Host: (который виртуальные серверы HTTP) можно использовать для различения abc.com и xyz.com на одном компьютере. Все, что видит прокси-сервер, - это соединение, входящее в 1.2.3.4 на порт 3306. Вы можете сделать это, используя несколько IP-адресов на одном физическом хосте (перенаправление портов / NAT), но не на одном IP-адресе, прокси-сервер не знает, какое имя был использован для подключения к нему.
Вы можете сделать это с помощью iptables.
iptables -t nat -A PREROUTING --source dbs1.abc.com --dport 3306 -j DNAT --to 123.63.1.23:13307
iptables -t nat -A PREROUTING --source dbs2.abc.com --dport 3306 -j DNAT --to 123.63.1.23:13306
Однако вы говорите: «[c] клиентские запросы направляются для исправления порта сервера mysql путем определения их доменного имени». Аргумент - source
в iptables не может быть доменным именем. Это может быть имя хоста (но вместо этого обычно используется IP-адрес хоста, поскольку принуждение iptables к разрешению имен может быть опасно для вашего здоровья) или диапазон IP-адресов.