我去https://www.ritlabs.com/en/products/tinyweb/我下载了最新的 tinyweb。
我创建了一个名为文件夹的目录
C:\tinyweb2018>dir
Volume in drive C has no label.
Volume Serial Number is B411-D580
Directory of C:\tinyweb2017
21/02/2018 02:49 AM <DIR> .
21/02/2018 02:49 AM <DIR> ..
21/02/2018 02:49 AM 0 access_log
21/02/2018 02:49 AM 0 agent_log
21/02/2018 02:47 AM 12,735 cgitest.zip
21/02/2018 02:49 AM 0 error_log
21/02/2018 02:47 AM 69 file_id.diz
21/02/2018 02:48 AM <DIR> folder
21/02/2018 02:47 AM 2,175 licence.txt
21/02/2018 02:47 AM 73 readme.txt
21/02/2018 02:49 AM 0 referer_log
21/02/2018 02:47 AM 149,124 src.zip
21/02/2018 02:47 AM 77,736 tiny.exe
10 File(s) 241,912 bytes
我运行 tinyweb 网络服务器
C:\tinyweb2017>tiny folder 8002<ENTER>
我制作一个文件.\folder\index.html
<html>
<head><title></title></head>
<body>
abc
</body>
</html>
我去http://127.0.0.1:8002
表现良好。
然后我做 http://127.0.0.1:8002/index.html
上面写着“禁止”
wget 显示标题,但除了 403 Forbidden 之外没有给我任何线索
C:\blah>wget 127.0.0.1:8002/index.html -d
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = C:\Program Files (x86)\Gow/etc/wgetrc
DEBUG output created by Wget 1.11.4 on Windows-MinGW.
--2018-02-21 02:54:14-- http://127.0.0.1:8002/index.html
seconds 0.00, Connecting to 127.0.0.1:8002... seconds 0.00, connected.
Created socket 180.
Releasing 0x009495e0 (new refcount 0).
Deleting unused 0x009495e0.
---request begin---
GET /index.html HTTP/1.0
User-Agent: Wget/1.11.4
Accept: */*
Host: 127.0.0.1:8002
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.0 403 Forbidden
Connection: Close
Server: TinyWeb/1.94
Content-Length: 72
Content-Type: text/html
---response end---
403 Forbidden
Closed fd 180
2018-02-21 02:54:14 ERROR 403: Forbidden.
C:\blah>
我读过这种直接访问文件的问题,大概是有人在使用 apache。https://joomla.stackexchange.com/questions/16460/403-forbidden-access-when-accessing-custom-html-php-files-directly 显然 apache 可能有一个.htaccess
文件可以让你配置它以允许直接访问文件。但 tinyweb 似乎没有。
那么问题就出在这里... tinyweb 没有这样的选项吗?如果是这样,我就得找一个替代的小型 Web 服务器,或者像 apache 这样的大型服务器。
或者也许有使用 tinyweb 的方法?
答案1
总结
要修复此问题,您需要在启动 TinyWeb 时指定要用作 html 根目录的文件夹的完整路径,例如:
tiny "C:\tinyweb2017\folder" 8002
解释 (?)
通常,403 Forbidden
当您没有权限访问特定资源时就会发生错误。
虽然 TinyWeb 中没有明确提到安装页面,似乎对根 html 目录使用相对路径(例如folder
vs C:\tinyweb2017\folder
)会导致 TinyWeb 形成错误路径(或类似路径),从而导致任何未标记的页面index.html
返回403 Forbidden
,并阻止直接访问所有页面(例如localhost:8002/index.html
)。
TinyWeb 似乎403 Forbidden
通常会返回不存在的路径或项目。