Где находится файл конфигурации (init.d) в g-wan. Также как мне избавиться от '?' В url для запуска скрипта php или c (я думаю, вам нужно изменить это в настройке)?Где находится файл конфигурации в g-wan?
ответ
Не существует конфигурационного «файла» как такового. Например, порт и IP-адрес настроены как имена папок (например, 172.16.42.2:8080/...) в корневой папке gwan.
Сервлеты, написанные на php или C или независимо от того, что вы выберете, находятся в папке .../csp по пути IP: порт под папкой gwan. С G-WAN по умолчанию путь к сервлету начинается с '?' с последующим расширением имени сервлета и расширением (например, «.php»), а первому параметру предшествует «&», как 2-й параметр, с большинством веб-серверов.
Вы можете изменить практически любое, что вы хотите по URL-адресу, пути, специальным символам и т. Д. В обработчике, который вы также можете записать на C/C++ и т. Д. Обработчики находятся в папке .../handler в разделе IP: путь к порту в папке gwan. То, о чем вы конкретно спрашиваете, это форма перезаписи URL-адресов и может выполняться в обработчике с помощью простой функции замены строк (см. Примеры, которые поставляются с G-WAN).
Есть много примеров сервлетов в папке .../csp и несколько примеров обработчиков в папке .../handler. Скорее всего, вы можете выбрать среди них и изменить их в соответствии с вашими потребностями.
FYI, стандартное соглашение об именах, используемое с G-WAN для отключения чего-либо на уровне папок, должно предшествовать ему «_» (например, _0.0.0.0: 8080/...) и для отдельного файла чтобы быть отключенным, он добавляется с помощью _ _ (например, hello.c_).
На странице разработчиков G-WAN есть обработчик подключения URL-rewrite example, который (я думаю) делает то, что вы хотите. Конкретный код переписать входящий запрос URL (содержащий нет «?») С URL, который ссылается на конкретный G-WAN сервлет (и содержит «?») Выглядит следующим образом:
// rewrite /blog requests into /?blog requests
xbuf_replfrto(read_xbuf, read_xbuf->ptr, read_xbuf->ptr + 16, "/blog", "/?blog");
См http://gwan.com/developers#tab2 для полный пример. Вам нужно будет создать аналогичный обработчик подключений (или просто скопировать код примера и изменить его в соответствии с вашими потребностями), а затем поместить этот код обработчика в путь .../обработчики по пути IP: port в корневой папке gwan.
Извините, я не могу быть более конкретным с примером PHP; До сих пор я выполнял всю свою работу G-WAN на C/C++.
Так как же я могу избавиться от? В url – matt
На данный момент я не на своем компьютере, но есть пример либо онлайн, либо в пакете gwan для изменения URL-адреса из/blog в /?blog.c или что-то в этом роде. Очень близко к тому, что вы хотите. Вы просматривали FAQ или API или разработчиков на веб-сайте gwan? – Kenigmatic
Спасибо, я посмотрю. Но если у вас будет шанс, я буду признателен, если вы сможете дать пример или пример. Благодарю. – matt
Как объяснил Кен, нет файла конфигурации - но сценарии G-WAN (servlets
, handlers
), в том числе скрипты запуска init.c
и main.c
G-WAN, может изменить G-WAN по-умолчанию настройки ... даже динамически, в течение всего срока службы сервера, а иногда и по запросу.
Вот варианты, которые могут быть изменены перед тем G-WAN начинает прослушивание (они описаны в руководстве PDF и on the G-WAN Web site):
US_SERVER_DATA // global server pointer for user-defined data
SERVER_SOFTWARE // "Server: G-WAN" HTTP response header
SCRIPT_TMO // time-out in ms running a script
KALIVE_TMO // time-out in ms for HTTP keep-alives
REQUEST_TMO // time-out in ms waiting for request
MIN_SEND_SPEED // send rate in bytes/sec (if < close)
MIN_READ_SPEED // read rate in bytes/sec (if < close)
MAX_ENTITY_SIZE // maximum POST entity size
QUERY_CHAR // replace '?' by - _ . ! ~ * ' ()
USE_WWW_CACHE // enable static cache (default: off)
USE_CSP_CACHE // enable servlet cache (default: off)
CACHE_ALL_WWW // load all /www in cache (default: off)
USE_MINIFYING // enable JS/CSS/HTML minifying (default: off)
А вот как изменить характер по запросу по умолчанию ' ? ':
u8 *query_char = (u8*)get_env(argv, QUERY_CHAR);
if(query_char)
{
u8 old = *query_char;
*query_char = '!'; // "/!hello.c" instead of "/?hello.c"
printf("> changed query_char from '%c' to '%c' (%p)\n",
old, *query_char, query_char);
}
Чтобы полностью удалить'? ' (вместо его замены) вам придется использовать обработчик соединения G-WAN, см. this example just doing what you want на вкладке «2».
Во многих случаях динамические настройки предпочтительнее фиксированных параметров, например, для адаптивных тайм-аутов (фиксированные таймауты оставляют сервер уязвимым для временных атак, например Slowloris
).
Я не хочу его менять. Я хочу удалить его. Нет ли директивного характера – matt
Затем напишите обработчик G-WAN, чтобы добавить его для определенного списка динамических URL-адресов (которые будут использовать клиенты без указания каких-либо??). Это то, что делают другие серверы с двигателями регулярных выражений. – Gil
u8 * query_char = (u8 *) get_env (argv, QUERY_CHAR); if (query_char) {u8 old = * query_char; * query_char = ''; // "/!hello.c" вместо "/ ?hello.c" printf ("> изменил query_char из '% c' в '% c' (% p) \ n", old, * query_char, query_char); } – matt
- 1. Где находится файл конфигурации?
- 2. Где находится файл конфигурации Stylecop?
- 3. Где находится файл конфигурации лака?
- 4. Где находится файл конфигурации Percona?
- 5. Где находится файл конфигурации Vista IIS7 «master»?
- 6. Где находится файл конфигурации NetBeans (netbeans.conf)?
- 7. Где находится файл конфигурации CPanel Silex WebServer
- 8. Где именно находится файл конфигурации .rspec?
- 9. Где находится .Net В поисках файла конфигурации?
- 10. Где находится файл конфигурации Postgresql: 'postgresql.conf' в Windows?
- 11. Где находится файл конфигурации для HDFS в Hadoop 2.2.0?
- 12. Где находится файл конфигурации сервера ejabberd в Mac OS?
- 13. где находится файл конфигурации Qt (qtrc) в Linux?
- 14. Где находится файл конфигурации мыши в KDE5 Debian Stretch, расположенный
- 15. SVN, где находится файл конфигурации для настройки свойств репозитория?
- 16. где находится файл конфигурации для маршрутизации и шлюза под centos?
- 17. Где находится файл конфигурации MySQL Server на OS X Yosemite?
- 18. В какой папке находится файл конфигурации Phonegap?
- 19. Где находится файл конфигурации для Protractor/webdriver-manager/Selenium?
- 20. Где находится файл getResourceAsStream (файл)?
- 21. Где находится файл calabash_steps.rb?
- 22. Где находится файл .runsettings?
- 23. Где находится файл modify_ldt?
- 24. Где находится файл yuicompressor.jar?
- 25. Где находится файл сборки?
- 26. Где находится файл eclipse.ini?
- 27. Где находится файл?
- 28. Где находится .babelrc-файл?
- 29. Где находится файл PHPExcel.php
- 30. Где находится файл ServiceDefinition.csdef?
**/etc/init.d ** файлы - это сценарии оболочки, которые отвечают на запуск, остановку, перезагрузку и перезагрузку команд для управления определенным сервисом. G-WAN предоставляет пример такого сценария: http://www.gwan.ch/faq#service – Gil