Hi all,
I'm trying to configure a Nginx reverse proxy with virtual domain to Nextcloud Server
here is my setting
Internet
Router (192.168.0.1)
Nginx (192.168.0.2)
Nextcloud Server (192.168.0.3)
Since I don't want use 443 port, I set up a port forward in router. Router (port: 12345) -> Nginx (port: 443)
nginx.conf
------------------------------------
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# Redirect all HTTP traffic to HTTPS
server {
listen 80 default_server;
listen [::]:80 default_server;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name 'nextcloud.test.com';
access_log /var/log/nginx/cloud.access.log;
error_log /var/log/nginx/cloud.error.log;
include snippets/nextcloud.test.com.cert.conf;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
location / {
include snippets/proxy-params.conf;
proxy_pass http://192.168.0.3;
}
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
client_max_body_size 1999M;
}
}
------------------------------------
It works fine. if I direct port forward 443 to Nginx server.
When I type "https://nextcloud.test.com" in browser, it will redirect to "https://nextcloud.test.com/index.php/apps/dashboard/" <- the Nextcloud main page
But if I set router port 12345 forward to Nginx server port 443. It will not work.
When I type "https://nextcloud.test.com:12345" in browser, it still redirect to "https://nextcloud.test.com/index.php/apps/dashboard/" since it missing the port ":12345" in url, it cannot access the Nextcloud main page. The main page will work if I manual type "https://nextcloud.test.com:12345/index.php/apps/dashboard/"
Any idea?
Thanks!
Edited 1 time(s). Last edit at 10/20/2021 12:08AM by esingress.