我正在创建一个 iOS 应用程序,它允许用户通过 POST 请求将图像/文本数据发送到我的网络服务器。当请求中不包含图像数据时,我成功地将 POST 发送到服务器。每当我使用图像数据进行 POST 时,服务器都会回吐一个403 forbidden. 我尝试将以下内容添加到脚本目录中的 .htaccess 文件中,但没有成功:
Options +Indexes FollowSymLinks +ExecCGI
Order allow,deny
Allow from all
Run Code Online (Sandbox Code Playgroud)
Web 浏览器和 Android 设备可以成功地将图像数据 POST 到脚本,唯一不能的设备是 iPhone。
将数据发布到其他托管服务提供商按预期工作 - 这只是这个主机 (ipowerweb.com)。
我注意到当我尝试将数据发布到服务器上的任何脚本时,它会返回一个403 forbidden. 另一个注意事项:我可以成功发布到由 ipowerweb 托管的另一台服务器,但我的似乎无法处理。
我的房东已尝试解决该问题,但无法解决,并且他们已将其标记为“已解决”,因此他们不再提供帮助。我希望让这个主机保持移动会很痛苦 - 作为最后的手段我会更换主机,所以请帮助我!
为什么只有当我通过 iPhone 应用程序提交数据时才会收到此 403 禁止错误?
如何解决此问题以便我可以成功发布数据?
任何关于我能做什么的建议将不胜感激。
编辑:作为请求,这里是响应头:
{
Connection = close;
"Content-Length" = 217;
"Content-Type" = "text/html; charset=iso-8859-1";
Date = "Wed, 12 Jan 2011 19:11:19 GMT";
Server = "Apache/2";
}
Run Code Online (Sandbox Code Playgroud)
编辑:这里的请求是请求标头(oops):
{ …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一种情况,可以通过 FTP 传输到我的 Linux CentOS 7 服务器并从我的 Windows 7 系统更新网站文件。此时,我可以使用 vsftp (/home/robert) FTP 到我的用户文件夹,并且 Apache 似乎适用于默认网站 (/var/www/html)。我为端口 8080 创建了一个虚拟主机,如果我将其指向 /var/www/8080/public_html,它工作正常,但一旦我将其指向 /home/robert/public_html,它就会返回 403 Forbidden。您没有权限访问此服务器上的 /。\napache 错误日志显示
\n\n[Wed Mar 18 16:12:27.546621 2015] [core:error]\n[pid 21204] (13)Permission denied: [client 192.168.1.66:57090]\nAH00035: access to / denied (filesystem path '/home/robert')\nbecause search permissions are missing on a component of the path\nRun Code Online (Sandbox Code Playgroud)\n\napache conf 文件 (/etc/httpd/conf/httpd.conf) 有此虚拟主机条目
\n\nListen 80\nListen 8080\n\n# Virtual Hosts\n<VirtualHost *:8080>\n ServerName 192.168.1.10:8080\n# DocumentRoot /var/www/8080/public_html\n DocumentRoot /home/robert/public_html\n</VirtualHost>\nRun Code Online (Sandbox Code Playgroud)\n\n/home/robert/public_html/index.html 的权限如下
\n\ndrwxr-xr-x. 7 root …Run Code Online (Sandbox Code Playgroud)