Как я могу увидеть мой сервер apache rails с других компьютеров в моей локальной сети? - PullRequest
0 голосов
/ 13 ноября 2009

У меня работает сервер apache, с монгрелами под беговыми рельсами. Файл конфигурации apache для моего приложения rails выглядит следующим образом:

<VirtualHost *:80>
  ServerName trunk.production.charanga
  ServerAlias max.trunk.production.charanga

  DocumentRoot /home/max/work/e_learning_resource/trunk/public

  RewriteEngine On

  <Proxy balancer://mongrel1>
    BalancerMember http://127.0.0.1:5010
  </Proxy>

  # Redirect all non-static requests to thin
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule ^/(.*)$ balancer://mongrel1%{REQUEST_URI} [P,QSA,L]

  ProxyPass / balancer://mongrel1/
  ProxyPassReverse / balancer://mongrel1/
  ProxyPreserveHost on

  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>

  # Custom log file locations
  ErrorLog  /home/max/work/e_learning_resource/trunk/log/error.log
  CustomLog /home/max/work/e_learning_resource/trunk/log/access.log combined

</VirtualHost>

Я думал, что это позволит мне получить доступ к нему с другого компьютера с max.trunk.production.charanga, но я уверен, что есть еще один шаг, который я не могу понять. В настоящий момент, если я ввожу свой IP-адрес в адресную строку в Firefox на другом компьютере, я вижу сервер Apache по умолчанию (с надписью «Это работает!» И т. Д.), Но я не могу добраться до своего сервера Apache rails. Пожалуйста, поправьте меня, если я здесь использую неправильную терминологию ...

спасибо макс

Ответы [ 5 ]

0 голосов
/ 30 августа 2011

введите IP-адрес и порт, например, так:

127.0.0.0: 80 / Рельсы

это будет работать, только если права доступа установлены на чтение / запись.

0 голосов
/ 18 ноября 2009

Я нашел ответ: решение состоит в том, чтобы сделать требуемый сервер сервером по умолчанию для моего IP-адреса. Я сделал это, изменив верхнюю часть конфигурационного файла для требуемого сайта (в данном случае / etc / apache2 / sites-available / 001-trunk)

из этого

<VirtualHost *:80>
  ServerName trunk.charanga
  ServerAlias max.trunk.charanga

  DocumentRoot /home/max/work/e_learning_resource/trunk/public
  ......etc

до

NameVirtualHost 192.168.0.234:80
<VirtualHost 192.168.0.234:80>
  ServerName trunk.charanga
  ServerAlias max.trunk.charanga

  DocumentRoot /home/max/work/e_learning_resource/trunk/public
  .....etc

, где 192.168.0.234 - это IP-адрес моей сети.

Теперь, когда кто-то вводит этот ip в браузер, он получает сайт, который я хочу, чтобы он получал вместо сайта apache по умолчанию.

Спасибо всем за советы!

0 голосов
/ 13 ноября 2009

Редактирование вашего хост-файла - это быстрое и простое решение.

Добавление строки

192.168.1.1    trunk.production.charanga max.trunk.production.charanga

ему скажет ваш компьютер использовать этот IP для этого домена. В зависимости от вашего браузера (Firefox выполняет внутреннее кеширование) или вашей ОС (также кеширует Windows), вам может потребоваться перезапустить браузер или очистить ваш DNS-кеш.

Для получения дополнительной информации о вашем хост-файле (включая информацию о том, где его найти в разных ОС), проверьте эту ссылку в Википедии.

0 голосов
/ 13 ноября 2009

Я думаю, это просто,

Я всегда так делаю. пример . 200.100.10.1:3000/. Я получаю доступ к веб-приложению моего друга в другом городе.

или

<VirtualHost>
DocumentRoot /htdoc/trunk/ <-- this is my app path. I move my rails app into xampp for exp
ServerName 200.100.10.1:3000
ServerAlias 200.100.10.1
</VirtualHost>

, поэтому я просто набираю 200.100.10.1, чтобы получить доступ к их приложению, если я не ошибаюсь. Я надеюсь, что это работает

0 голосов
/ 13 ноября 2009

Компьютер, пытающийся получить к нему доступ, должен знать, как разрешить запись DNS max.trunk.production.charanga на правильный IP-адрес 192.168.1.42 (или любой другой IP-адрес вашего сервера). Он не может понять это, не будучи сказанным.

Обычно вы можете сообщить эту информацию, отредактировав /etc/hosts и указав этот адрес на правильный IP-адрес. Простое использование Apache для распознавания имени не позволяет другим компьютерам узнать, как получить к нему доступ.

В качестве альтернативы, если вы запускаете локальную службу DNS, вы можете добавить туда запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...