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