Score:1

Nginx conf file with perl software

de flag
Abe

I have successfully installed a Perl application on my Ubunti 20.4 LEMP stack, and I can access it on: http://example.com:5762/login.pl and http://example.com:5762/setup.pl I want to install and access the software through a subdirectory in the foo folder: example.com/foo I have modified the configuration file but when I click there, I get page not found error like this page and I am unable to access the software on the subdirectory URL. My Nginx configuration file is below. What do I miss to be able to access the application through the subdirectory URL: example.com/foo?

## Nginx Configuration File
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server
{
  listen 80 ;
  listen [::]:80 ;

  # SSL configuration
  #
  # listen 443 ssl default_server;
  # listen [::]:443 ssl default_server;
  #
  # Note: You should disable gzip for SSL traffic.
  # See: https://bugs.debian.org/773332
  #
  # Read up on ssl_ciphers to ensure a secure configuration.
  # See: https://bugs.debian.org/765782
  #
  # Self signed certs generated by the ssl-cert package
  # Don't use them in a production server!
  #
  # include snippets/snakeoil.conf;

  root /var/www/example.com/html/root;

  # Add index.php to the list if you are using PHP
  index index.php index.html index.htm index.nginx-debian.html;

  server_name example.com www.example.com;

  location /
  {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
    try_files $uri $uri/ /index.php?$args;
  }

  # pass PHP scripts to FastCGI server
  #
  location ~ \.php$
  {
    include snippets/fastcgi-php.conf;
    #
    #   # With php-fpm (or other unix sockets):
    fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
    #   # With php-cgi (or other tcp sockets):
    #   fastcgi_pass 127.0.0.1:9000;
  }

  # deny access to .htaccess files, if Apache's document root
  # concurs with Nginx's one
  #
  location ~ /\.ht
  {
    deny all;
  }
## I added this block to access the Perl application on the /foo subdirectory 
  location /foo/
  {
    root /var/www/example.com/html/root;
    try_files $uri $uri/ @starman;
  }

  # Configuration files don't exist
  location @starman
  {
    # If you changed the port in the Starman service file, change it here too
    proxy_pass http://localhost:5762;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_cookie_path ~^/$ /foo/;
   }
 }

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#   listen 80;
#   listen [::]:80;
#
#   server_name example.com;
#
#   root /var/www/example.com;
#   index index.html;
#
#   location / {
#       try_files $uri $uri/ =404;
#   }
#}
Michael Hampton avatar
cz flag
You need to reconfigure the application. This error does not come from nginx, but from your app.
Abe avatar
de flag
Abe
My issue is similar to: https://github.com/ledgersmb/ledgersmb-docker/issues/27
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.