1

I am trying to deploy a new Angular app with apache 2.4 + ubuntu 16. Angular app is the frontend app, it would call the api from backend servers. I can visit the home page, but failed with error "The requested URL was not found on this server." when I try to visit the next page.

Here is my configurations for apache.

<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. ServerName xxxxxxxxx.com DocumentRoot /var/www/ RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} !^/api RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301] # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/apache2_error.log CustomLog ${APACHE_LOG_DIR}/apache2_access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf </VirtualHost> <VirtualHost *:443> DocumentRoot /var/www/ ServerName xxxxxxxxx.com SSLEngine on SSLCertificateFile /opt/clsfd_ib/env/ssl_keys/xxxxxxxxx.com.crt SSLCertificateKeyFile /opt/clsfd_ib/env/ssl_keys/xxxxxxxxx.com.rsa #SSLCertificateChainFile /opt/clsfd_ib/env/ssl_keys/xxxxxxxxx.com.pem ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combinedi ProxyPass /api http://YYYYYYYYYY.com:1337 ProxyPassReverse /api http://YYYYYYYYYY.com:1337 <Location "/api"> Require all granted </Location> </VirtualHost> 
10
  • What is the URL you tried to access? Commented Jun 23, 2020 at 13:58
  • I can visit 'xxxxxxxxx.com' but failed with 'xxxxxxxxx.com/reports/001' Commented Jun 23, 2020 at 23:50
  • Is that meant to be passed to your backend? You only passed URLs beginning with /api. Commented Jun 23, 2020 at 23:53
  • yes, it will call backend for getting the data. Commented Jun 24, 2020 at 2:31
  • You haven't configured Apache to pass them though! Commented Jun 24, 2020 at 3:15

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.