Im trying to redirect my Laravel+vuejs+nuxtjs
project from http to https but when I enter http://example.com or http://www.example.com an empty file being downloaded instead
What have I done so far :
1- Commenting default_type application/octet-stream
and adding default_type text/html
instead in nginx.conf
2-defining types { } default_type "text/plain";
in location /{}
of the example.com.conf
3-nginx redirect with the code below
server{
listen xx.xx.xx.xx:80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
4- tried to redirect it with a .php file with the following example.com.conf file:
server {
listen 37.152.191.249:80;
server_name www.example.com 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;
root /home/example/public_html/;
index index.php;
location / {
types { } default_type "text/plain";
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
location ~* "/\.(htaccess|htpasswd)$" {deny all;return 404;}
disable_symlinks if_not_owner from=/home/example/public_html;
}
the index.php in public_html code :
$location = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header('HTTP/1.1 301 Moved Permanently');
header('Location: ' . $location);
exit;
None of the above worked and the problem still presist.
+Current Configurations :
nginx -t report :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
example.com.ssl.conf :
server{
listen xx.xx.xx.xx:443 http2 ssl;
server_name example.com;
ssl_certificate /etc/pki/tls/certs/example.com.bundle;
ssl_certificate_key /etc/pki/tls/private/example.com.key;
ssl_protocols TLSv1.2;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EE3CDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA!RC4:EECDH:!RC4:!aNULL:!eN$
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 60m;
return 301 https://www.example.com$request_uri;
}
server {
listen xx.xx.xx.xx:443 http2 ssl;
server_name 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;
ssl_certificate /etc/pki/tls/certs/example.com.bundle;
ssl_certificate_key /etc/pki/tls/private/example.com.key;
ssl_protocols TLSv1.2;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA!RC4:EECDH:!RC4:!aNULL:!eN$
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 60m;
root /home/example/core/public/;
index index.php;
location / {
proxy_set_header Connection 'upgrade';
proxy_http_version 1.1;
proxy_pass https://xx.xx.xx.xx:3000$uri;
proxy_intercept_errors on;# In order to use error_page directive this needs to be on
error_page 404 = @php;
}
location @php {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
location ~* "/\.(htaccess|htpasswd)$" {deny all;return 404;}
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;
}
}
Current example.com.conf :
server{
listen xx.xx.xx.xx:80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
I have not added the nginx -T report since it shows irrelevant configuration files from other websites.
Also server running multiple sites and the wordpress ones have no problem redirecting using the code provided at #3 for redirect but when it comes to THE site that uses nuxtjs , I get a empty file downloaded instead.
Any help would be highly appreciated