Коллеги, здравствуйте. Из прошлой темы, я наконец-то настроил SSO для толстого\тонкого клиента. Пошел дальше, публикация WEB. Теперь тут не получается с SSO.
- Опирался на статью: https://infostart.ru/1c/articles/2440678/
- Debian GNU/Linux 12 (bookworm). 1C 8-8.3.27.1719. libapache2-mod-auth-gssapi 1.6.4-3. Apache/2.4.65 (Debian)
- База опубликована была командой:
/opt/1cv8/x86_64/8.3.27.1719/webinst \
-publish \
-apache24 \
-wsdir base_1c \
-dir /var/www/1C/base \
-connstr "Srvr=t03-1c11.fd.local;Ref=test" \
-descriptor /var/www/1C/default.vrd \
-confpath /etc/apache2/apache2.conf
Конфиг apache2.conf:
# 1c publication
Alias "/base_1c" "/var/www/1C/base/"
<Directory "/var/www/1C/base/">
AuthType GSSAPI
AuthName "Kerberos Login"
Require valid-user
GssapiCredStore keytab:/etc/1C/http/http1cv8.keytab
GssapiCredStore client_keytab:/etc/1C/http/http1cv8.keytab
GssapiCredStore ccache:FILE:/var/krb/ktk123
GssapiUseS4U2Proxy On
GssapiImpersonate On
GssapiLocalName On
GssapiDelegCcacheDir /var/cred/
AllowOverride All
Options SymLinksIfOwnerMatch
Require valid-user
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/1C/base/default.vrd"
</Directory>
- Keytab генерация: ktpass -princ HTTP/t03-1c11.fd.local@FD.LOCAL -mapuser svc_http1cv8 -pass «myhardpass» -ptype KRB5_NT_PRINCIPAL -crypto AES256-SHA1 -out C:\keytab\http1cv8.keytab
Get-ADUser svc_http1cv8 -Properties msDS-KeyVersionNumber,userPrincipalName,servicePrincipalName|Select SamAccountName,msDS-KeyVersionNumber,userPrincipalName,servicePrincipalName
SamAccountName msDS-KeyVersionNumber userPrincipalName servicePrincipalName
-------------- --------------------- ----------------- --------------------
svc_http1cv8 3 HTTP/t03-1c11.fd.local@FD.LOCAL {HTTP/t03-1c11.fd.local}
https://i.ibb.co/fY0NCbST/image.png
https://i.ibb.co/6RXCxqSp/image.png
- Логи Apache:
10.96.3.122 - MikhalevskyAA [01/Oct/2025:15:08:00 +0300] "GET /base_1c/ru/ HTTP/1.1" 200 1774 "http://t03-1c11.fd.local/base_1c/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"
10.96.3.122 - - [01/Oct/2025:15:08:00 +0300] "POST /base_1c/ru/e1cib/login?version=8.3.27.1719&nooida&vl=ru&clnId=36a665fa-869c-453e-bc1d-474419bc7305 HTTP/1.1" 401 713 "http://t03-1c11.fd.local/base_1c/ru/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 Edg/140.0.0.0"
- cat /opt/1cv8/x86_64/8.3.27.1719/conf/logcfg.xml
<?xml version="1.0"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="/var/log/1c" history="7">
<event>
<eq property="name" value="conn"/>
</event>
<event>
<eq property="name" value="excp"/>
</event>
<event>
<eq property="name" value="auth"/>
</event>
<property name="all"/>
</log>
</config>
- Лог rphost 1С:
09:38.654001-0,EXCP,2,level=WARNING,process=rphost,p:processName=test,OSThread=316793,t:clientID=39,t:applicationName=WebServerExtension,t:computerName=t03-1c11.fd.local,t:connectID=8,SessionID=1993,AppID=WebClient,Exception=a01f465c-ed70-442e-ada5-847668d7a41c,Descr='src/vrsbase/src/VResourceInfoBaseServerImpl.cpp(2766):
a01f465c-ed70-442e-ada5-847668d7a41c: Неверно указан пользователь или пароль
-
Профиль уз указан так: https://i.ibb.co/WNP4mCXM/image.png
-
При этом, тонкий клиент меня аутентифицирует по SSO без проблем, но для него отдельный keytab с отдельной уз.
И если вручную зайти:
24:45.006006-0,CONN,2,level=INFO,process=rphost,OSThread=317819,t:clientID=34,Txt=Srvr: DstUserName1: MikhalevskyAA@FD.LOCAL(FD.LOCAL\MikhalevskyAA) (linux client)
24:45.006007-0,CONN,2,level=INFO,process=rphost,OSThread=317819,t:clientID=34,Txt=eAPSEContinue
работает, подтягивает уз, а SSO не хочет.
- /etc/krb5.conf:
[libdefaults]
default_realm = FD.LOCAL
# ключи для Apache (mod_auth_gssapi)
default_keytab_name = /etc/1C/http/http1cv8.keytab
default_client_keytab_name = /etc/1C/http/http1cv8.keytab
dns_lookup_kdc = true
dns_lookup_realm = true
rdns = false
forwardable = true
ticket_lifetime = 24h
renew_lifetime = 7d
[realms]
FD.LOCAL = {
kdc = S03-DC11.fd.local
admin_server = S03-DC11.fd.local
}
[domain_realm]
.fd.local = FD.LOCAL
fd.local = FD.LOCAL
.FD.LOCAL = FD.LOCAL
FD.LOCAL = FD.LOCAL
То есть Apache получает мои креды, но 1С не принимает я полагаю. Не понимаю, какой формат он хочет или в чем проблема.