HTTPS给出404未找到错误

时间:2016-08-05 06:28:57

标签: php apache ssl google-cloud-platform bitnami

我已经在我的bitnami google云托管上安装了SSL认证 证书已安装属性甚至

我可以访问:

https://domain.com

但是当我尝试访问

https://domain.com/xyz 
  

它给我404找不到错误

以下是我的binami.conf档案

<VirtualHost *:443>
  SSLEngine on
  SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
  SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"

  DocumentRoot "/opt/bitnami/apache2/htdocs/domain/public/"
  <Directory "/opt/bitnami/apache2/htdocs/htdocs/domain/public/">
    Options FollowSymLinks MultiViews
    AddLanguage en en
    LanguagePriority en
    ForceLanguagePriority Prefer Fallback

    AllowOverride All
    <IfVersion < 2.3 >
      Order allow,deny
      Allow from all
    </IfVersion>
    <IfVersion >= 2.3 >
      Require all granted
    </IfVersion>
  </Directory>

  # Error Documents
  ErrorDocument 503 /503.html

  # Bitnami applications installed with a prefix URL (default)
  Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>

任何人都可以帮助我,出了什么问题 有关更多信息,请执 我正在使用谷歌云平台与Bitnami LAMP堆栈

4 个答案:

答案 0 :(得分:1)

一般来说,404 NOT FOUND可以在这种情况下从2个地方中的1个提供。 Apache服务器可能正在使用404进行响应,或者Apache收到的请求将路由到应用程序,并且应用程序将为404提供服务。

如果应用程序正在作为应用程序所有者404 NOT FOUND提供服务,则可能会记录每个请求以查看此情况。由于您根本没有提及应用程序,我们必须假设这不是源代码并调查Apache服务器。

您为HTTP(:80 )和HTTPS(:443 )提供的配置通过<Directory "">提供静态资源。但是,如@Juan所述,目录和DocumentRoot的路径在HTTP和HTTPS之间是不同的。

"/opt/bitnami/apache2/htdocs/domainDIR/public/"!= "/opt/bitnami/apache2/htdocs/domain/public/"

如果您没有2个不同的目录来提供基于HTTP(S)的静态资源,那么这是404的最可能原因。在通过HTTPS提供服务时,Apache无法找到"/opt/bitnami/apache2/htdocs/domain/public/"

请注意,目前,Google Cloud上的Bitnami LAMP图片deploys with Apache 2.4.25因此不应符合<IfVersion < 2.3>条件。如果在其他地方使用相同的配置,那么保持安全。

答案 1 :(得分:0)

@DusanBajic

<VirtualHost _default_ *:80>
  DocumentRoot "/opt/bitnami/apache2/htdocs/domainDIR/public/"
  <Directory "/opt/bitnami/apache2/htdocs/domainDIR/public/">
    Options FollowSymLinks MultiViews
    AddLanguage en en
    LanguagePriority en
    ForceLanguagePriority Prefer Fallback
    AllowOverride All
    <IfVersion < 2.3 >
      Order allow,deny
      Allow from all
    </IfVersion>
    <IfVersion >= 2.3 >
      Require all granted
    </IfVersion>
  </Directory>
  # Error Documents
  ErrorDocument 503 /503.html
  Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>

答案 2 :(得分:0)

只是猜测,但我认为 bitnami.conf 应该只为ssl部分提供此功能。

# Default SSL Virtual Host configuration.

<IfModule !ssl_module>
  LoadModule ssl_module modules/mod_ssl.so
</IfModule>

Listen 443
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !EDH !RC4"
SSLPassPhraseDialog  builtin
SSLSessionCache "shmcb:/opt/bitnami/apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

<VirtualHost _default_:443>
  DocumentRoot "/opt/bitnami/apache2/htdocs"
  SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/server.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/server.key"

  <Directory "/opt/bitnami/apache2/htdocs">
    Options FollowSymLinks MultiViews
    AddLanguage en en
    LanguagePriority en
    ForceLanguagePriority Prefer Fallback

    AllowOverride All
    <IfVersion < 2.3 >
      Order allow,deny                          
      Allow from all
    </IfVersion>
    <IfVersion >= 2.3 >
      Require all granted
    </IfVersion>
  </Directory>

  # Error Documents
  ErrorDocument 503 /503.html

  # Bitnami applications installed with a prefix URL (default)
  Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>

# Bitnami applications that uses virtual host configuration
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf"

您应该将上面(顶部)的<VirtualHost *:443>代码放入 /extras/httpd-ssl.conf 文件中。

然后通过Putty(或任何你使用的)重启apache

sudo /opt/bitnami/ctlscript.sh restart apache

我会尝试在本周的某个时间进行测试并根据需要进行编辑(8 ^ {D =

答案 3 :(得分:0)

<VirtualHost _default_ *:80>中,您正在设置:

DocumentRoot "/opt/bitnami/apache2/htdocs/domainDIR/public/"

但是,在<VirtualHost *:443>中,您正在设置:

DocumentRoot "/opt/bitnami/apache2/htdocs/domain/public/"

您的网络应用程序位于何处?两条路径应该是同一条路径。