nginx

nginx proxy example

this is a nginx proxy to another website through ip address :

server {
        listen       80;
        server_name  moneyslow.com;
        error_page 497 https://$host$request_uri;
        rewrite ^(.*)$ https://www.moneyslow.com$1 permanent;

#    if ($http_user_agent ~* "python-requests/2\.32\.3|curl/7\.64\.1|wget/1\.20\.3") {
#        return 403;
#    }
#        rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
        listen       80;
        server_name  www.moneyslow.com;
        error_page 497 https://$host$request_uri;
        rewrite ^(.*)$ https://www.moneyslow.com$1 permanent;
}
server {
        listen 443 ssl http2;
        server_name moneyslow.com www.moneyslow.com;
        access_log  /var/log/nginx/a8z8.log;
        error_log   /var/log/nginx/a8z8.error.log;
#        root /var/www/moneyslow.com;
        index index.html;
        ssl_certificate /etc/nginx/key/moneyslow.com.fullchain.cer;
        ssl_certificate_key /etc/nginx/key/moneyslow.com.key;

    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
    add_header X-Frame-Options SAMEORIGIN;
    add_header X-XSS-Protection "1; mode=block";
#     add_header X-Content-Type-Options "nosniff";
    add_header Expect-CT "max-age=7776000, enforce";
    add_header Referrer-Policy "strict-origin-when-cross-origin";
    add_header Content-Security-Policy "upgrade-insecure-requests";
add_header Permissions-Policy "geolocation=self, microphone=self, camera=self";

#    if ($http_user_agent ~* "python-requests/2\.32\.3|curl/7\.64\.1|wget/1\.20\.3") {
#        return 403;
#    }

#set $is_bot 0;
#if ($http_user_agent ~* (GPTBot|Claude-Web|ClaudeBot)) {
#  set $is_bot 1;
#}
#if ($is_bot = 1) {
#  return 403;
#}

    location / {
        proxy_set_header Host $http_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_pass    https://123.123.123.123;
    }
}