Thảo luận cấu hinh reverse nginx proxy

Discussion in 'Thảo Luận Chung' started by xmenvn2510, Sep 28, 2018.

Thread Status:
Not open for further replies.
  1. tearofboy

    tearofboy Tân Thủ Thôn

    theo mình nghĩ thì việc cấu hình r-proxy quay qua quay lại cũng là để giấu IP thật thôi, nên mình phải làm cố gắng sao cho không lộ
     
    xmenvn2510 likes this.
  2. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Bạn nói giả sử lộ rồi thì xóa cái ip vps lộ đi, tạo cái mới là xong.
    Report đến nhà cung cấp thì phải có link vi phạm và ip VPS bị lộ. Nhà cung cấp sẽ kiểm tra rồi nó mới ban acc.
    Bạn xóa ip vps lộ rồi thì khỏi lo.
     
  3. console

    console Bang Chúng

    Lam sao lo dc
     
    xmenvn2510 likes this.
  4. vip

    vip Khách Qua Đường

    cụ nào rảnh cấu hình giúp em ạ, em gửi cốc cafe {big_smile}
    để lại skype cho em xin nhé
     
  5. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Post đã rất rõ ràng và chi tiết. Thấy liên hệ nhưng chưa kịp trả lời thì nói vậy nên hơi buồn.
    Nếu 10 đến 100 cốc cafe thì a mới làm hộ.
    Không thì cưng tự làm nhé.
    Rẻ mạt quá, kiến thức nó tự ái lắm :D

    Ps: Nói vậy thôi, để lại skype a sẽ liên hệ lại với e.
     
    Last edited: Apr 11, 2020
    wpresources likes this.
  6. vip

    vip Khách Qua Đường

    đã liên hệ !
     
    Last edited: Apr 11, 2020
  7. ngochuydg

    ngochuydg Khách Qua Đường

    Bác cho em hỏi chút ạ:
    E cài hocvps script ạ. Em cài đặt Let's Encrypt ssl thì cài trên vps chứa source code hay vps reproxy ạ?
    E thử cài trên vps chính thì em cấu hình xong đã vào được web nhưng tất cả các url ảnh, css, js đều là http nên lỗi, và em cũng không vào trang đăng nhập được bác ạ.
    Bác thông cho em với
     
  8. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Em dùng ssl đúng không?
    E cho a xem nginx reproxy và nginx vhost . Cái gì cần che thì che đi.
     
  9. ngochuydg

    ngochuydg Khách Qua Đường

    Đây là mặc định của hocvps script trên vhost ạ (không cài ssl)
    Code:
    server {
        listen 80;
      
        server_name www.tenmien.com;
        rewrite ^(.*) https://tenmien.com$1 permanent;
    }
    
    server {
        listen 80 default_server;
          
        # access_log off;
        access_log /home/tenmien.com/logs/access.log;
        # error_log off;
            error_log /home/tenmien.com/logs/error.log;
      
            root /home/tenmien.com/public_html;
        index index.php index.html index.htm;
            server_name tenmien.com;
            rewrite ^(.*) https://tenmien.com$1 permanent;
            location / {
            try_files $uri $uri/ /index.php?$args;
        }
      
        # Custom configuration
        include /home/tenmien.com/public_html/*.conf;
            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
            fastcgi_connect_timeout 1000;
            fastcgi_send_timeout 1000;
            fastcgi_read_timeout 1000;
            fastcgi_buffer_size 256k;
            fastcgi_buffers 4 256k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
            fastcgi_intercept_errors on;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }
      
        location /nginx_status {
              stub_status on;
              access_log   off;
            allow 127.0.0.1;
            allow 45.148.120.156;
            deny all;
        }
      
        location /php_status {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
            allow 127.0.0.1;
            allow 45.148.120.156;
            deny all;
            }
      
        # Disable .htaccess and other hidden files
        location ~ /\.(?!well-known).* {
            deny all;
            access_log off;
            log_not_found off;
        }
      
            location = /favicon.ico {
                    log_not_found off;
                    access_log off;
            }
      
        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }
      
        location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ {
                gzip_static off;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            access_log off;
            expires 30d;
            break;
            }
    
            location ~* \.(txt|js|css)$ {
                add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            access_log off;
            expires 30d;
            break;
            }
    }
    
    server {
        listen 9001;
      
         access_log off;
        log_not_found off;
         error_log /home/tenmien.com/logs/nginx_error.log;
      
            root /home/tenmien.com/private_html;
        index index.php index.html index.htm;
            server_name tenmien.com;
      
        auth_basic "Restricted";
        auth_basic_user_file /home/tenmien.com/private_html/hocvps/.htpasswd;
             location / {
            autoindex on;
            try_files $uri $uri/ /index.php;
        }
      
            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
            fastcgi_connect_timeout 1000;
            fastcgi_send_timeout 1000;
            fastcgi_read_timeout 1000;
            fastcgi_buffer_size 256k;
            fastcgi_buffers 4 256k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
            fastcgi_intercept_errors on;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }
      
        location ~ /\. {
            deny all;
        }
    }
    
    Đây là trên vps reproxy ạ (đã cái let's encrypt ssl và cấu hình theo hướng dẫn của hocvps)

    Code:
    server {
        listen 443 ssl http2;
        server_name www.tenmien.com;
    
        # SSL
        ssl_certificate /etc/letsencrypt/live/tenmien.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/tenmien.com/privkey.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    
        rewrite ^(.*) https://tenmien.com$1 permanent;
    }
    
    server {
        listen 80;
      
        server_name tenmien.com www.tenmien.com;
        rewrite ^(.*) https://tenmien.com$1 permanent;
    }
    
    server {
        listen 443 ssl http2 default_server;
          
        # access_log off;
        access_log /home/tenmien.com/logs/access.log;
        # error_log off;
            error_log /home/tenmien.com/logs/error.log;
      
            root /home/tenmien.com/public_html;
        index index.php index.html index.htm;
            server_name tenmien.com;
    
            # SSL
        ssl_certificate /etc/letsencrypt/live/tenmien.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/tenmien.com/privkey.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    
            # Improve HTTPS performance with session resumption
            ssl_session_cache shared:SSL:50m;
            ssl_session_timeout 1d;
    
            # DH parameters
            ssl_dhparam /etc/nginx/ssl/dhparam.pem;
            # Enable HSTS
            add_header Strict-Transport-Security "max-age=31536000" always;
            location / {
            try_files $uri $uri/ /index.php?$args;
        }
      
        # Custom configuration
        include /home/tenmien.com/public_html/*.conf;
            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
            fastcgi_connect_timeout 1000;
            fastcgi_send_timeout 1000;
            fastcgi_read_timeout 1000;
            fastcgi_buffer_size 256k;
            fastcgi_buffers 4 256k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
            fastcgi_intercept_errors on;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }
      
        location /nginx_status {
              stub_status on;
              access_log   off;
            allow 127.0.0.1;
            allow 185.242.105.207;
            deny all;
        }
      
        location /php_status {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
            allow 127.0.0.1;
            allow 185.242.105.207;
            deny all;
            }
      
        # Disable .htaccess and other hidden files
        location ~ /\.(?!well-known).* {
            deny all;
            access_log off;
            log_not_found off;
        }
      
            location = /favicon.ico {
                    log_not_found off;
                    access_log off;
            }
      
        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }
      
        location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff|woff2)$ {
                gzip_static off;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            access_log off;
            expires 30d;
            break;
            }
    
            location ~* \.(txt|js|css)$ {
                add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
            access_log off;
            expires 30d;
            break;
            }
    }
    
    server {
        listen 9001;
      
         access_log off;
        log_not_found off;
         error_log /home/tenmien.com/logs/nginx_error.log;
      
            root /home/tenmien.com/private_html;
        index index.php index.html index.htm;
            server_name tenmien.com;
      
        auth_basic "Restricted";
        auth_basic_user_file /home/tenmien.com/private_html/hocvps/.htpasswd;
             location / {
            autoindex on;
            try_files $uri $uri/ /index.php;
        }
      
            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
            fastcgi_connect_timeout 1000;
            fastcgi_send_timeout 1000;
            fastcgi_read_timeout 1000;
            fastcgi_buffer_size 256k;
            fastcgi_buffers 4 256k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
            fastcgi_intercept_errors on;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }
      
        location ~ /\. {
            deny all;
        }
    }
    
    Đây là code em chưa cấu hình theo hướng dẫn của a ạ, e có thử nhưng lỗi
     
  10. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    - vhost (không cài ssl) của em OK.
    - Nginx vps reproxy e cấu hình sai rồi nhé. Cái đó em sửa lại như sau.
    Code:
    server {
    listen 80;
    server_name domain.com;
    return 301 https://domain.com$request_uri;
    }
    
    server {
    
    listen 443 ssl;
    server_name domain.com;
    
    # Khai bao ssl.
    ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
    
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
    
    
    access_log /home/domain.com/logs/access.log;
    error_log /home/domain.com/logs/error.log;
    
    location / {
    
    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;
    
    # Fix the It appears that your reverse proxy set up is broken error.
    proxy_pass http://ip-vpschinh:port;
    proxy_read_timeout 90;
    
    
    proxy_redirect http://ip-vpschinh:port https://domain.com;
    }
    }
    
     
  11. ngochuydg

    ngochuydg Khách Qua Đường

    E đã sửa lại và restart nginx rồi thì không vào được web ạ
    trình duyệt báo: ERR_TOO_MANY_REDIRECTS
    a ạ
     
  12. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Em sửa cái này chưa :
    - ip-vpschinh port
    Nếu khó quá không làm được thì inbox cho a nhé.
     
  13. ngochuydg

    ngochuydg Khách Qua Đường

    E sửa rồi ạ, vâng e inbox a giúp em với ạ
     
  14. ngochuydg

    ngochuydg Khách Qua Đường

    A cho e xin liên hệ ạ
     
  15. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Check inbox.
     
  16. mr0986

    mr0986 Tân Thủ Thôn

    Ko liên quan tới nội dung dcma.
    Tại sao thớt ko fastcgi_pass qua vps chính luôn mà lại phải proxy_pass 1 lần từ reproxy qua vps chính rồi từ vps chính mới fastcgi_pas qua cho php-fpm?
    Nếu mục đích là để cấu hình real ip cho mỗi request thì có thể set header cho nginx ngay trên reproxy dc mà? Hay còn lý do gì khác mà mình chưa biết nhỉ?
     
  17. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Bạn hãy thử đi. Xem kết quả thế nào.
     
    Last edited: May 31, 2020
  18. mr0986

    mr0986 Tân Thủ Thôn

    Mình ko dùng php mà cũng ko có tg để test. Nêu ra để thảo luận thôi bro : )
     
  19. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Nói chung là cấu hình thì nhiều cách. Ai tiện cách nào thì dùng cách ấy. Thảo luận chuyên sâu thì nên mở topic riêng. Cảm ơn bạn góp ý nhé.
     
    mr0986 likes this.
  20. Zen

    Zen Khách Qua Đường

    Em có đọc bài của anh @xmenvn2510 nhưng do trình có hạng nên còn nhiều điều chưa thông, mong anh dành chút thời gian giúp em với ạ. Rất cảm ơn anh nếu như được liên lạc với anh
    Skype cảu em: zenkynemesis
    Em có thử liên lạc với anh trên 4rum nhưng nó báo không được.
    [​IMG]
     
Thread Status:
Not open for further replies.