Как сделать так чтобы...

  1. 7 г. назад

    Apache возвращал ответ 200 с определенными заголовками?
    т.е. например я делаю GET запрос по адресу http://www.myserver.ru/getaddress
    а в ответ должен получить http-ответ 200 c определенными заголовками?
    Как сделать?

    Windows 2012 +Apache 2.2

  2. http://httpd.apache.org/docs/current/mod/mod_headers.html

    Ответы: (2) (16)
  3. (1) спс, бро. в лучших традициях мисты))
    с помощью этого я понял, что мне нужно куда-то вставить 2 строки

    Header set serveraddress "www.my.ru"
    Header set infobase "mybase"

    а вот куда это вставить?))

  4. в httpd.conf или .htaccess конечно. а что, у тебя есть другие варианты?

  5. пожалуйста, дай пример. как мне опубликовать getaddress и в каком виде сунуть Header в httpd.conf.

  6. DocumentRoot "полный_путь_к_папке_на_диске"
    <Directory "полный_путь_к_папке_на_диске">
    опции
    </Directory>

    Header add имя "значение"

    не забудь включить модуль mod_headers в конфиге

  7. а в полный_путь_к_папке_на_диске должен лежать .htaccess в котором будет:
    Header add имя "значение"?

  8. в если от точки входа не зависит - можешь прямо в конфиге апача всё прописать

    Ответы: (9)
  9. еще один Виталик?
    мануалы читать не умеет
    потом спросит про mod_rewrite

  10. (7) а что значит от точки входа?

    модуль включен.

    в httpd.conf добавил:

    Alias "/request" "C:/PUB/request/"
    <Directory "C:/PUB/request/">
    AllowOverride All
    Options None
    Order allow,deny
    Allow from all
    </Directory>

    в папке "C:/PUB/request/" лежит .htaccess c:
    Header add serveraddress "myserver"

    проверяю с помощью http://www.bertal.ru/

    получаю:
    HTTP/1.1 301 Moved Permanently
    Date: Thu, 24 Nov 2016 13:15:14 GMT
    Server: Apache/2.2.25 (Win32) mod_ssl/2.2.25 OpenSSL/0.9.8y
    Location: https://www.myserver.ru/request/
    Content-Type: text/html; charset=iso-8859-1

    HTTP/1.1 403 Forbidden
    Date: Thu, 24 Nov 2016 13:15:14 GMT
    Server: Apache/2.2.25 (Win32) mod_ssl/2.2.25 OpenSSL/0.9.8y
    Content-Type: text/html; charset=iso-8859-1

    Ответы: (13)
  11. Для начала необходимо активировать mod_ssl: sudo a2enmod ssl. А затем включить настройки HTTPS сайта по умолчанию

    Ответы: (11)
  12. (10) ssl у меня работает нормально

  13. апну, вдруг кто сжалится

  14. (9) в файрфоксе в инструментах разработчика можно посмотреть заголовки. их точно нет?
    попробуй пропиши для начала прямо в конфиге апача, и проверь, устанавливаются ли они.

    не забывай после изменения конфига перезапускать апач

  15. как открыть инструменты разработчика:
    ПКМ - Исследовать элемент - Сеть
    заходишь на свою страницу, кликаешь на строку с адресом снизу - смотришь на закладку "Заголовки"

  16. вообщем что-то получилось)))

    в conf просто добавил

    <IfModule mod_headers.c>
    Header set serverA "my server"
    Header set serverP "my server"
    </IfModule>

    теперь при любом обращении к сайту по адресу www.server.ru в заголовках есть моя инфа.
    чтобы получить их, отправляю серверу http запрос OPTIONS (чтобы получить ответ без тела, только заголовки).
    а что написать в httpd.conf, чтобы это эти заголовки возвращались только для OPTIONS или например только для http запроса с определенными параметрами?

    Ответы: (16) (18)
  17. Бешеная Нога а что написать в httpd.conf, чтобы это эти заголовки возвращались только для OPTIONS или например только для http запроса с определенными параметрами?

    см. (1)

    Ответы: (17)
  18. (16) не нашел там про условия

  19. Бешеная Нога или например только для http запроса с определенными параметрами?

    Conditionally send MyHeader on the response if and only if header MyRequestHeader is present on the request. This is useful for constructing headers in response to some client stimulus. Note that this example requires the services of the mod_setenvif module.

    SetEnvIf MyRequestHeader myvalue HAVE_MyRequestHeader
    Header set MyHeader "%D %t mytext" env=HAVE_MyRequestHeader

  20. в httpd.conf:

    <IfModule mod_headers.c>
    	SetEnvIf hh "hh" HAVE_MyRequestHeader
    	Header set MYHEADER1 "%D %t mytext" env=HAVE_MyRequestHeader
    </IfModule>

    в 1с следующий код:

    	SecureConnection = New OpenSSLSecureConnection();
    	Connection = New HTTPConnection("www.server.ru", , , , , , SecureConnection);
    	Request = New HTTPRequest();
    	Request.Headers.Insert("hh", "hh2");
    	Response = Connection.CallHTTPMethod("OPTIONS", Request);

    однако в Response все равно сидит MYHEADER1...

  21. ап...

  22. 6 г. назад

    Информация была полезна, спасибо

или зарегистрируйтесь чтобы ответить!