Самый простой способ я нашел, чтобы решить это с помощью локально установленные веб-сервер Apache с поддержкой mod_proxy модулем и сконфигурированный PROXYPASS директиву.
Пусть начать с базовой настройки
index.html имеет следующее содержание
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var http = XMLHttpRequest();
http.open('GET', 'http://127.0.0.1:5984/_all_dbs', true); // ! WE WILL CHANGE THIS LINE
http.onreadystatechange = function() {
if (http.readyState == 4 && http.status == 200) {
console.debug('it works');
}
};
http.send(null)
</script>
<head><title>Test Access to CouchDB</title></head>
<body>
</body>
</html>
Если вы попробуете это только сейчас он не будет работать из-за проблемы перекрестного домена (в данном случае порты не совпадают 8181! = 5984) ,
Как это исправить
- настроить Apache (apache_home/CONF/httpd.conf)
- раскомментируйте
LoadModule proxy_module modules/mod_proxy.so
- раскомментируйте
LoadModule proxy_http_module modules/mod_proxy_http.so
- добавить
ProxyPass /couchdb http://127.0.0.1:5984
(как рейтинг верхнего уровня у как ServerAdmin)
- перезапуск Apache
- изменения индекса.HTML
- заменить
http.open('GET', 'http://127.0.0.1:5984/_all_dbs', true);
с http.open('GET', '/couchdb/_all_dbs', true);
Попробуйте сейчас, и вы должны увидеть 'это работает' выход в консоли JavaScript (я использовал Firebug консоль)
К сожалению, эта ссылка уже мертва и возвращает страницу ошибки 404. – MKroehnert
@MKroehnert Oh. И это заставляет меня сходить с ума, что я даже не могу вспомнить, что я хотел сделать три года назад. – Eonil