Skip to content

Is nginx necessary to use?

Moved Solved Hosting
  • Basic question again, is nginx necessary to use?

    Heres the senario, a server on say 192.1.2.3, hosts two websites
    in ubuntu directories www/one.uk and www/two.uk there are index.html files

    The DNS record on cloudflare for one.uk has this record:

    A one.uk 192.1.2.3 DNS only
    CNAME www one.uk DNS only
    

    Do these two sites need to be attached to different ports, and the ports put in the DNS record?
    Its not currently working, but how would the domain name know which of the two sites to resolve to without more info?
    Currently it only says the IP of the whole server.

  • @Panda said in Cloudflare bot fight mode and Google search:

    Basic question again, is nginx necessary to use?

    No, but you’d need something at least to handle the inbound requests, so you could use Apache, NGINX, Caddy… (there are plenty of them, but I tend to prefer NGINX)

    @Panda said in Cloudflare bot fight mode and Google search:

    Do these two sites need to be attached to different ports, and the ports put in the DNS record?

    No. They will both use ports 80 (HTTP) and 443 (HTTPS) by default.

    @Panda said in Cloudflare bot fight mode and Google search:

    Its not currently working, but how would the domain name know which of the two sites to resolve to without more info?
    Currently it only says the IP of the whole server.

    Yes, that’s correct. Domain routing is handled (for example) at the NGINX level, so whatever you have in DNS will be presented as the hostname, and NGINX will expect a match which once received, will then be forwarded onto the relevant destination.

    As an example, in your NGINX config, you could have (at a basic level used in reverse proxy mode - obviously, the IP addresses here are redacted and replaced with fakes). We assume you have created an A record in your DNS called “proxy” which resolves to 192.206.28.1, so fully qualified, will be proxy.sudonix.org in this case.

    The web browser requests this site, which is in turn received by NGINX and matches the below config

    server {
    	server_name proxy.sudonix.org;
    	listen 192.206.28.1;
    	root /home/sudonix.org/domains/proxy.sudonix.org/ogproxy;
    	index index.php index.htm index.html;
    	access_log /var/log/virtualmin/proxy.sudonix.org_access_log;
    	error_log /var/log/virtualmin/proxy.sudonix.org_error_log;
      location / {
        proxy_set_header Access-Control-Allow-Origin *;
        proxy_set_header Host $host;
        proxy_pass http://localhost:2000;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Api-Key $http_x_api_key;
      }
      location /images {
        index index.php index.htm index.html;
        root /home/sudonix.org/domains/proxy.sudonix.org/ogproxy;
      }
    	fastcgi_split_path_info "^(.+\.php)(/.+)$";
    	listen 192.206.28.1:443 ssl http2;
    	ssl_certificate /home/sudonix.org/domains/proxy.sudonix.org/ssl.combined;
    	ssl_certificate_key /home/sudonix.org/ssl.key;
    }
    

    The important part here is server_name proxy.sudonix.org; as this is used to “map” the request to the actual domain name, which you can see in the root section as root /home/sudonix.org/domains/proxy.sudonix.org/ogproxy;

    As the DNS record you specified matches this hostname, NGINX then knows what to do with the request when it receives it.

  • phenomlabundefined phenomlab moved this topic from Configure on
  • phenomlabundefined phenomlab has marked this topic as solved on

Did this solution help you?
Did you find the suggested solution useful? Why not buy me a coffee? It's a nice gesture, and a great way to show your appreciation 💗