Как я могу установить Railo и Apache на Ubuntu и иметь его, передают имя пользователя стандартной аутентификации Railo?

Я пытаюсь переместиться от использования Adobe ColdFusion к использованию Railo. Приложение, которое я пытаюсь переместить, полагается на наличие веб-сервера, проверяют стандартную аутентификацию, но затем должен знать имя пользователя аутентифицируемого пользователя с помощью #REMOTE_USER# переменная.

Я пытался делать дамп объема cgi, и просто кажется, что переменная не становится установленной. Я откалывал при получении этого движения приблизительно в течение новой недели и застреваю.

0
задан 11 October 2014 в 11:42

1 ответ

Так, я наконец понял его. Как он сказал, мне потребовалась, по крайней мере, неделя для получения этого. Так, я совместно использую свои примечания по тому, как настроить новую машину для этого, таким образом, никто больше не должен проводить столько времени, сколько я сделал понимание этого. Ключевая вещь, кажется, что Вы хотите проксировать к railo использование протокола AJP вместо HTTP, и Вы хотите сказать коту, что это не должно делать аутентификации (который позволит ему передать переменную через нетронутый).

Позволяют нам начать:

apt-get install apache2 mysql-server apache2-utils
a2enmod proxy_ajp
service apache2 restart

.

Установка Railo:

Загрузка стандартная версия установщика 64 битов, перечисленная на странице в http://www.getrailo.org/index.cfm/download/ .

Делают его исполняемым файлом:

chmod +x <file_you_just_downloaded>

Выполнение это:

./<file_you_just_downloaded>

Выбор все значения по умолчанию.

.

хорошо, теперь отредактируйте файлы конфигурации как это:

=== modified file '/etc/apache2/apache2.conf'
--- /etc/apache2/apache2.conf 2014-10-10 00:22:11 +0000
+++ /etc/apache2/apache2.conf 2014-10-10 00:27:48 +0000
@@ -223,18 +223,24 @@
<IfModule mod_proxy.c>
<Proxy *>
Allow from 127.0.0.1
+
+ AuthType Basic
+ AuthName "Employee Login"
+ AuthBasicProvider file
+ AuthUserFile /etc/apache2/.htpasswd
+ Require valid-user
</Proxy>
ProxyPreserveHost On
- ProxyPassMatch ^/(.+\.cf[cm])(/.*)?$ http://127.0.0.1:8888/$1$2
- ProxyPassMatch ^/(.+\.cfchart)(/.*)?$ http://127.0.0.1:8888/$1$2
- ProxyPassMatch ^/(.+\.cfml)(/.*)?$ http://127.0.0.1:8888/$1$2
+ ProxyPassMatch ^/(.+\.cf[cm])(/.*)?$ ajp://127.0.0.1:8009/$1$2
+ ProxyPassMatch ^/(.+\.cfchart)(/.*)?$ ajp://127.0.0.1:8009/$1$2
+ ProxyPassMatch ^/(.+\.cfml)(/.*)?$ ajp://127.0.0.1:8009/$1$2
# optional mappings
#ProxyPassMatch ^/flex2gateway/(.*)$ http://127.0.0.1:8888/flex2gateway/$1
#ProxyPassMatch ^/messagebroker/(.*)$ http://127.0.0.1:8888/messagebroker/$1
#ProxyPassMatch ^/flashservices/gateway(.*)$ http://127.0.0.1:8888/flashservices/gateway$1
#ProxyPassMatch ^/openamf/gateway/(.*)$ http://127.0.0.1:8888/openamf/gateway/$1
#ProxyPassMatch ^/rest/(.*)$ http://127.0.0.1:8888/rest/$1
- ProxyPassReverse / http://127.0.0.1:8888/
+ ProxyPassReverse / ajp://127.0.0.1:8009/
</IfModule>



=== modified file '/etc/apache2/sites-available/000-default.conf'
--- /etc/apache2/sites-available/000-default.conf 2014-10-10 00:12:20 +0000
+++ /etc/apache2/sites-available/000-default.conf 2014-10-10 00:31:59 +0000
@@ -26,6 +26,13 @@
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
+ <Directory /var/www/html>
+ AuthType Basic
+ AuthName "Employee Login"
+ AuthBasicProvider file
+ AuthUserFile /etc/apache2/.htpasswd
+ Require valid-user
+ </Directory>
</VirtualHost>

Используя htpasswd программу, создайте .htpasswd файл в /etc/apache2, Если Вы хотите, чтобы некоторые сайты аутентифицировались и некоторые не, можно поместить раздел прокси в виртуальном определении хостов и настроить по мере необходимости на виртуальный хост.

Редактирование /opt/railo/tomcat/config/server.xml

=== modified file '/opt/railo/tomcat/config/server.xml'
--- /opt/railo/tomcat/config/server.xml 2014-10-10 00:34:48 +0000
+++ /opt/railo/tomcat/config/server.xml 2014-10-10 00:36:33 +0000
@@ -89,7 +89,7 @@
-->

<!-- Define an AJP 1.3 Connector on port 8009 -->
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
+ <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" tomcatAuthentication="false" />
+ <Connector port="8010" protocol="AJP/1.3" tomcatAuthentication="false" secure="true" scheme="https"/>

<!-- An Engine represents the entry point (within Catalina) that processes -->

Перезапуск Railo/Tomcat:

/opt/railo/railo_ctl restart

Теперь, Railo должен поместить основное подлинное имя пользователя в cgi.remote_user. Я думал, что мне, возможно, придется попытаться поместить что-то, что копирует это в #REMOTE_USER# в localconfig/application.cfm. Но это уже, кажется, то же самое. Второй коннектор AJP на порте 8010 для Вас для проксирования к от включенных виртуальных хостов SSL в Apache. Таким образом, если у Вас есть включенный виртуальный хост SSL, прокси для портирования 8010 вместо 8 009. Тем путем Railo установит переменные, который позволяет ColdFusion, который он выполняет, знают, что он использует SSL.

0
ответ дан 6 October 2019 в 23:47

Другие вопросы по тегам:

Похожие вопросы: