1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/suninformation-ymate-module-webproxy

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

YMP-WebProxy

Простейший модуль прокси-сервера для HTTP-запросов, реализованный на основе фреймворка YMP, предназначен для перенаправления локальных запросов на удалённый сервер и возврата ответа от этого сервера.

Зависимости Maven

<dependency>
    <groupId>net.ymate.module</groupId>
    <artifactId>ymate-module-webproxy</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

Инициализация модуля

  • В первую очередь вам следует создать Java Web проект на основе фреймворка YMP версии 2; (Как быстро создать проект?)

  • Измените конфигурацию filter в файле web.xml, полная конфигурация представлена ниже:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <listener>
        <listener-class>net.ymate.platform.webmvc.support.WebAppEventListener</listener-class>
    </listener>

    <filter>
        <filter-name>DispatchFilter</filter-name>
        <filter-class>net.ymate.module.webproxy.support.DispatchProxyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>DispatchFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
```#### Описание параметров конфигурации модуля  
---
##### Инициализация параметров модуля webproxy  
---

Основной URL пути для прокси-сервиса, обязательное поле, должно начинаться с `'http://'` или `'https://'` и заканчиваться `'/'.` Пример: `http://www.ymate.net/proxies/`

```properties
ymp.configs.module.webproxy.service_base_url=

Префикс запроса перед отправкой (только те запросы, которые начинаются с этого префикса будут переданы), необязательное поле, значение по умолчанию — пустое.

ymp.configs.module.webproxy.service_request_prefix=

Включение режима прокси, значение по умолчанию: false.

ymp.configs.module.webproxy.use_proxy=

Тип прокси, допустимые значения [HTTP|DIRECT|SOCKS], значение по умолчанию: HTTP.

ymp.configs.module.webproxy.proxy_type=

Доменное имя или IP адрес прокси-сервера, обязательное поле при включении режима прокси.

ymp.configs.module.webproxy.proxy_host=

Номер порта прокси-сервера, значение по умолчанию: 80.

ymp.configs.module.webproxy.proxy_port=

Время ожидания соединения (миллисекунды), значение по умолчанию: 0.

ymp.configs.module.webproxy.connect_timeout=

Время ожидания чтения данных (миллисекунды), значение по умолчанию: 0.

ymp.configs.module.webproxy.read_timeout=

Чёрный список запросов для отключения передачи, значение по умолчанию — пустое (что означает отключение этой функции), разделённые '|' запросы не будут переданы.

ymp.configs.module.webproxy.transfer_blacklist=

Включение передачи заголовков запроса, значение по умолчанию: false.

ymp.configs.module.webproxy.transfer_headers=
```webproxy.transfer_header_enabled=
      # Черный список заголовков запроса для отключения передачи, значение по умолчанию — пустое (что означает отключение этой функции), разделённые '|' заголовки запроса не будут переданы
     ymp.configs.module.webproxy.transfer_header_blacklist=
      # Белый список заголовков запроса для передачи, значение по умолчанию — пустое (что означает отключение этой функции), разделённые '|' заголовки запроса будут переданы
     ymp.configs.module.webproxy.transfer_header_whitelist=
      # Белый список заголовков ответа для передачи обратно клиенту, значение по умолчанию — пустое (что означает отключение этой функции), разделённые '|' заголовки ответа будут переданы обратно клиенту
     ymp.configs.module.webproxy.response_header_whitelist=#### Успешный лог запуска```markdown
 2017/04/01 11:44:05:280 CST [INFO] YMP - 
  __   ____  __ ____          ____  
  \ \ / /  \/  |  _ \  __   _|___ \ 
   \ V /| |\/| | |_) | \ \ / / __) |
    | | | |  | |  __/   \ V / / __/ 
    |_| |_|  |_|_|       \_/ |_____|  Сайт: http://www.ymate.net/
 2017/04/01 11:44:05:287 CST [INFO] YMP - Инициализация ymate-platform-core-2.0.0-Release сборка-20170316-0850 отладка:true
 2017/04/01 11:44:05:455 CST [INFO] Логи - Инициализация ymate-platform-log-2.0.0-Release сборка-20170316-0850
 2017/04/01 11:44:05:456 CST [INFO] Настройки - Инициализация ymate-platform-configuration-2.0.0-Release сборка-20170316-0850
 2017/04/01 11:44:05:457 CST [INFO] Настройки - --> CONFIG_HOME: /Users/xxxx/projects/webproxy/target/webproxy/WEB-INF
 2017/04/01 11:44:05:457 CST [INFO] Настройки - --> USER_HOME: /Users/xxxx
 2017/04/01 11:44:05:457 CST [INFO] Настройки - --> USER_DIR: /Users/xxxx/projects/webproxy/target/webproxy/WEB-INF
 2017/04/01 11:44:05:946 CST [INFO] WebMVC - Инициализация ymate-platform-webmvc-2.0.0-Release сборка-20170317-2348
```markdown
2017/04/01 11:44:05:954 CST [INFO] WebProxy - Инициализация ymate-module-webproxy-1.0.0-Alpha сборка-20170401-1059
2017/04/01 11:44:05:955 CST [INFO] WebProxy - --> service_base_url: http://xxxx.xx/api
2017/04/01 11:44:05:955 CST [INFO] WebProxy - --> request_prefix: none
2017/04/01 11:44:05:955 CST [INFO] WebProxy - --> proxy: none
2017/04/01 11:44:05:955 CST [INFO] WebProxy - --> transfer_header_enabled: false
2017/04/01 11:44:05:955 CST [INFO] WebProxy - --> use_caches: false
2017/04/01 11:44:05:955 CST [INFO] WebProxy - --> instance_follow_redirects: false
2017/04/01 11:44:05:956 CST [INFO] WebProxy - --> connection_timeout: 0
2017/04/01 11:44:05:956 CST [INFO] WebProxy - --> read_timeout: 0
2017/04/01 11:44:05:956 CST [INFO] Кэши - Инициализация ymate-platform-cache-2.0.0-Release сборка-20170316-0850
2017/04/01 11:44:06:165 CST [INFO] Валидация - Инициализация ymate-platform-validation-2.0.0-Release сборка-20170316-0850
2017/04/01 11:44:06:183 CST [INFO] YMP - Инициализация завершена, общее время: 896мс
[2017-04-01 11:44:06,311] Артефакт ymcms-webproxy:war exploded: Артефакт успешно развернут
[2017-04-01 11:44:06,311] Артефакт ymcms-webproxy:war exploded: Развертывание заняло 3728 миллисекунды
апреля 01, 2017 11:44:12 утра org.apache.catalina.startup.HostConfig deployDirectory
Информация: Развертывание директории веб-приложения /Users/xxxx/Java/apache-tomcat-7.0.54/webapps/manager
апреля 01, 2017 11:44:12 утра org.apache.catalina.startup.HostConfig deployDirectory
Информация: Развертывание директории веб-приложения /Users/xxxx/Java/apache-tomcat-7.0.54/webapps/manager завершено за 611 мс

Далее используйте браузер для доступа к вашему локальному сервису (например: `http://localhost:8080/xxx/xxx/xxx`), запрос будет переадресован на URL адрес, указанный в конфигурации `service_base_url`!

Еще одно дело

YMP предоставляет не только удобный опыт быстрого разработки для web и других Java проектов, но также постоянно расширяет возможности с практическими примерами проектов.

Если вас интересует YMP, присоединяйтесь к официальному QQ-группе 480374360, чтобы вместе учиться и помогать развитию YMP!

Дополнительную информацию о фреймворке YMP можно найти на официальном сайте: http://www.ymate.net/

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой HTTP-прокси-модуль для сквозной передачи запросов, реализованный на основе фреймворка YMP, который пересылает локальные запросы на удалённый сервер и возвращает ответ удалённого сервиса. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/suninformation-ymate-module-webproxy.git
git@api.gitlife.ru:oschina-mirror/suninformation-ymate-module-webproxy.git
oschina-mirror
suninformation-ymate-module-webproxy
suninformation-ymate-module-webproxy
master