Apache HTTP Post请求到aws ec2目录/opt/lampp/htdocs/generate/denied

Apache HTTP Post请求到aws ec2目录/opt/lampp/htdocs/generate/denied,apache,http,amazon-web-services,amazon-ec2,xampp,Apache,Http,Amazon Web Services,Amazon Ec2,Xampp,我正试图向“发送邮件请求”。 当我在本地运行应用程序时,它工作正常 但是,当我将URL更改为 “opt/lampp/htdocs/denate/payment.php” “我获取未找到页面”错误。我可以保证该位置中存在该文件 我已经尝试了一些事情,比如将/opt文件的权限递归地更改为777。还尝试了将apache服务器端口默认端口从80更改为777 我甚至尝试在捐赠文件夹中放置一个.htacces文件来访问服务器 RewriteEngine On RewriteCond %{HTTP_HOST}

我正试图向“发送邮件请求”。 当我在本地运行应用程序时,它工作正常

但是,当我将URL更改为

opt/lampp/htdocs/denate/payment.php

“我获取未找到页面”错误。我可以保证该位置中存在该文件

我已经尝试了一些事情,比如将/opt文件的权限递归地更改为777。还尝试了将apache服务器端口默认端口从80更改为777

我甚至尝试在捐赠文件夹中放置一个.htacces文件来访问服务器

RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourdomain.com 

RewriteRule (.*) http://www.yourdomain.com/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$
RewriteCond %{REQUEST_URI} !^/WebProjectFolder/
RewriteRule (.*) /WebProjectFolder/$1
所有尝试均已失败。此处是否缺少任何其他内容。我已安装bitnami parse server,并且可以通过浏览器中的http访问该服务器。它位于根文件夹中的文件夹/应用程序中


AWS是否覆盖任何安全权限?

假设
/opt/lampp/htdocs/
是您的文档根目录,URL不应该是
http://ec2-xx-xxx-xx-xxx.ap-southeast-2.compute.amazonaws.com/donate/payment.php

您可能还需要验证以下几点:

  • 确保您的安全策略的入站端口80对公众开放(或您将从何处访问)
  • 假设您使用的是Apache
    httpd
    ,请确保它接受外部接口或所有接口上的连接(例如
    Listen 80
    Listen 0.0.0:80
    ,等等)

  • 首先,如果您的Apache服务器确实出现错误,则问题与AWS无关。如果存在错误配置的安全组或NACL,您将永远无法访问端口80(http)

    第二,永远不要永远不要
    chmod-R 777
    ,你不仅可以破坏你的应用行为,而且,特别是使用PHP,你刚刚打开了安全风险。是的,这并不重要,直到你的实例成为僵尸网络的一部分并开始发送垃圾邮件

    乍一看,我想说您的Apache配置缺少一些东西,比如
    VirtualHost
    “any”:

    #来自https://httpd.apache.org/docs/2.4/vhosts/examples.html
    DocumentRoot“/www/example1”
    服务器名www.example.com
    #这里还有其他指示
    

    您的默认位置似乎指向另一个目录,可能是默认目录。

    谢谢您的帮助。尝试了。不幸的是,它不起作用。请查看扩展的答案。尝试了也不起作用。我有多个http.conf文件。这会产生问题吗?您应该确定要修改的正确的
    httpd.conf
    ,一个d在任何设置更改后重新启动
    httpd
    # from https://httpd.apache.org/docs/2.4/vhosts/examples.html
    <VirtualHost *:80>
        DocumentRoot "/www/example1"
        ServerName www.example.com
    
        # Other directives here
    </VirtualHost>