如何在虚拟主机(Apach)下使用Perfect(Swift)?



我在Ubuntu OS上有Apache。我的 Ubuntu 使用 amazon Lightsail。我设置了一个虚拟主机来使用像这样的完美网络服务器

<Location "/PerfectTemplate">
ProxyPass http://localhost:8182
ProxyPassReverse http://localhost:8182
</Location>

我正在尝试从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>
"""

以下 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)")
}

最新更新