Как использовать Perfect(Swift) под VirtualHost(Apach)?
У меня есть Apache на ОС Ubuntu. Моя Ubuntu использует amazon Lightsail. Я настроил VirtualHost для использования Perfect Web-сервера, как это
<Location "/PerfectTemplate">
ProxyPass http://localhost:8182
ProxyPassReverse http://localhost:8182
</Location>
Я пытался POST-действия из HTML, но программы ссылаются на Apache
var try_post_action = """
<form action="./tow" method="post">
//<form action="/tow" method="post">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
"""
1 ответ
Следующий фрагмент Apache Conf
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) - [L,NS,H=perfect-handler]
и быстрый файл
import PerfectHTTP
import PerfectHTTPServer
func handler(request: HTTPRequest, response: HTTPResponse) {
response.setHeader(.contentType, value: "text/html")
response.appendBody(string: """
<form action="./PerfectTemplate/test" method="get">
First name: <input type="text" name="fname"><br>
Last name: <input type="text" name="lname"><br>
<input type="submit" value="Submit">
</form>
""")
response.completed()
}
let confData = [
"servers": [
[
"name":"localhost",
"port":8182,
"routes":[
["method":"get", "uri":"/", "handler":handler],
["method":"get", "uri":"/test", "handler":handler],
["method":"get", "uri":"/**", "handler":PerfectHTTPServer.HTTPHandler.staticFiles,
"documentRoot":"./webroot",
"allowResponseFilters":true]
],
"filters":[
[
"type":"response",
"priority":"high",
"name":PerfectHTTPServer.HTTPFilter.contentCompression,
]
]
]
]
]
do {
try HTTPServer.launch(configurationData: confData)
} catch {
fatalError("\(error)")
}