Nginx configure

Started by gailclark80, June 17, 2022, 01:15:46 AM

Previous topic - Next topic

gailclark80

My Web Server is Nginx & Apache, I have several ULRs without suffix, for example: https://www.example.com/my-post

Please note that there is no "/" at the end of this URL. Now visiting this URL will directly display the source code of this page. How can I make it display the content of the page?

rcschaff

if you mean that it's a PHP page, you need FPM for nginx to use php.
Google Hangouts:  rcschaff82@gmail.com

gailclark80

#2
It's not a PHP page, it's a static page, because an opencart was installed before, and its pages are without / at the end, I deleted opencart now, but there are a few pages that need to be kept, so I created these pages manually

How do I set up so that these pages can display the content, and now visit them only to display the source code

Actually, the FPM  has been installed

If the Web Server is switched to Apache Only, these pages can be displayed normally, but I am using Nginx & Apache now, I think it may be caused by Nginx.

rcschaff

If html is displayed as source code, then the mime type for nginx is messed up.  Check for the default mime types and make sure it's not set to text/plain
Google Hangouts:  rcschaff82@gmail.com

gailclark80

This is the Nginx configuration of my domain, where should I modify it?

Contents of File: /etc/nginx/conf.d/vhosts/example.com.conf

server {
   listen 192.168.0.1:80;   
   server_name example.com  www.example.com;

   access_log /usr/local/apache/domlogs/example.com.bytes bytes;
   access_log /usr/local/apache/domlogs/example.com.log combined;
   error_log /usr/local/apache/domlogs/example.com.error.log error;

   location / {
      location ~.*\.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|woff|ttf|svg|eot|sh|webp)$ {
         root /home/example/public_html;               
         expires max;
         try_files $uri $uri/ @backend;
      }
      
      error_page 405 = @backend;
      error_page 500 = @custom;
      add_header X-Cache "HIT from Backend";
      add_header X-XSS-Protection "1; mode=block" always;
      add_header X-Content-Type-Options "nosniff" always;
      proxy_pass http://192.168.0.1:8181;
      include proxy.inc;
   }

   location @backend {
      internal;
      proxy_pass http://192.168.0.1:8181;
      include proxy.inc;
   }

   location @custom {
      internal;
      proxy_pass http://192.168.0.1:8181;
      include proxy.inc;
   }

   location ~ .*\.(php|jsp|cgi|pl|py)?$ {
      proxy_pass http://192.168.0.1:8181;
      include proxy.inc;
   }

   location ~ /\.ht    {deny all;}
   location ~ /\.svn/  {deny all;}
   location ~ /\.git/  {deny all;}
   location ~ /\.hg/   {deny all;}
   location ~ /\.bzr/  {deny all;}

   disable_symlinks if_not_owner from=/home/example/public_html;

   location /.well-known/acme-challenge {
      default_type "text/plain";
      alias /usr/local/apache/autossl_tmp/.well-known/acme-challenge;
   }

   location /.well-known/pki-validation {
      default_type "text/plain";
      alias /usr/local/apache/autossl_tmp/.well-known/acme-challenge;
   }
}

server {
   listen 192.168.0.1:80;   
   server_name webmail.example.com;

   access_log /usr/local/apache/domlogs/example.com.bytes bytes;
   access_log /usr/local/apache/domlogs/example.com.log combined;
   error_log /usr/local/apache/domlogs/example.com.error.log error;

   location / {
      proxy_pass  http://127.0.0.1:2095;
      include proxy.inc;
   }

   location ~ /\.ht    {deny all;}
   location ~ /\.svn/  {deny all;}
   location ~ /\.git/  {deny all;}
   location ~ /\.hg/   {deny all;}
   location ~ /\.bzr/  {deny all;}

   disable_symlinks if_not_owner from=/home/example/public_html;

   location /.well-known/acme-challenge {
      default_type "text/plain";
      alias /usr/local/apache/autossl_tmp/.well-known/acme-challenge;
   }

   location /.well-known/pki-validation {
      default_type "text/plain";
      alias /usr/local/apache/autossl_tmp/.well-known/acme-challenge;
   }
}

server {
   listen 192.168.0.1:80;   
   server_name mail.example.com;

   access_log /usr/local/apache/domlogs/example.com.bytes bytes;
   access_log /usr/local/apache/domlogs/example.com.log combined;
   error_log /usr/local/apache/domlogs/example.com.error.log error;

   location / {
      proxy_pass  http://127.0.0.1:2095;
      include proxy.inc;
   }

   location ~ /\.ht    {deny all;}
   location ~ /\.svn/  {deny all;}
   location ~ /\.git/  {deny all;}
   location ~ /\.hg/   {deny all;}
   location ~ /\.bzr/  {deny all;}

   disable_symlinks if_not_owner from=/home/example/public_html;

   location /.well-known/acme-challenge {
      default_type "text/plain";
      alias /usr/local/apache/autossl_tmp/.well-known/acme-challenge;
   }

   location /.well-known/pki-validation {
      default_type "text/plain";
      alias /usr/local/apache/autossl_tmp/.well-known/acme-challenge;
   }
}

server {
   listen 192.168.0.1:80;   
   server_name cpanel.example.com;

   access_log /usr/local/apache/domlogs/example.com.bytes bytes;
   access_log /usr/local/apache/domlogs/example.com.log combined;
   error_log /usr/local/apache/domlogs/example.com.error.log error;

   location / {
      proxy_pass  https://127.0.0.1:2083;
      include proxy.inc;
   }

   location /pma {
      proxy_pass  https://127.0.0.1:2031;
      include proxy.inc;
   }

   location /roundcube {
      proxy_pass  https://127.0.0.1:2031;
      include proxy.inc;
   }

   location ~ /\.ht    {deny all;}
   location ~ /\.svn/  {deny all;}
   location ~ /\.git/  {deny all;}
   location ~ /\.hg/   {deny all;}
   location ~ /\.bzr/  {deny all;}

   disable_symlinks if_not_owner from=/home/example/public_html;

   location /.well-known/acme-challenge {
      default_type "text/plain";
      alias /usr/local/apache/autossl_tmp/.well-known/acme-challenge;
   }

   location /.well-known/pki-validation {
      default_type "text/plain";
      alias /usr/local/apache/autossl_tmp/.well-known/acme-challenge;
   }
}

rcschaff

see if the following corrects the issue:

location / {
      location ~.*\.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|html|htm|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|woff|ttf|svg|eot|sh|webp)$ {
         default_type "text/html";
         root /home/example/public_html;               
         expires max;
         try_files $uri $uri/ @backend;
      }
Google Hangouts:  rcschaff82@gmail.com

gailclark80

I change it in /etc/nginx/conf.d/vhosts/mydomain.com.conf

Then restart Apache and Nginx, but the URL without the / suffix still displays the source code