Domain tự động trỏ sang 1 website khác đặt trên cùng VPS [NGINX]

Discussion in 'Hỏi Đáp Kỹ Thuật' started by Thanh Nguyen, Jun 1, 2020.

  1. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    E có 2 website tạm gọi là A và B đặt trên cùng 1 VPS
    Website A có đặt ssl web B thì không
    Vừa rồi e có xóa thư mục code của site B đi. Tức là off site B xuống. Theo logic thì khi truy cập domain B sẽ ra trang báo lỗi nhưng đằng này nó lại tự lấy code của site A sang. Tức là domain thì site B nhưng web thì của site A.
    E có đính kèm cấu hình file conf của site A
    Site B thì không đặt ssl nên chỉ thay 443 thành 80 và bỏ phần đường dẫn đến ssl key đi thôi. Các cụ xem giúp xem e bị sai chỗ nào vậy
     

    Attached Files:

  2. Nai

    Nai MiddleMan Staff Member

    Chắc site A là site đầu tiên trên VPS nên nó lấy config mặc định. Cụ dùng nginx thì xem trong file conf xem có phải mặc định lỗi thì đổ về site A không
     
  3. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    Chắc không phải a ạ. Vì mặc định nó trả về thư mục html. Còn tất cả web trên đó e đều tạo thư mục riêng trong /html cả. Với cả thằng A cũng không phải là site đầu tiên trên vì trên vps này e đặt 5 site khác nhau. Nhưng thằng domain B này chỉ thích trỏ sang thằng A. Có khi nào bọn nó yêu nhau không?
     
  4. money

    money Hương Chủ

    Em post nội dung file này lên xem đang cấu hình ntn: /etc/nginx/conf.d/default.conf ?
     
  5. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    File này e comment hết lại rồi a à
     
  6. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    Ban đầu e cũng nghi là do thằng này. Nhưng sau khi bỏ hết code đi thì nó vẫn vậy a ạ
     

    Attached Files:

  7. money

    money Hương Chủ

    Em có tạo 1 file .conf riêng cho từng domain không? Nếu có thì vào thư mục này: /etc/nginx/sites-enabled/ xóa file của site B đi (nhớ restart nginx)

    Sau khi làm các thao tác comment nó thì em nên restart lại nginx cho chắc.
     
  8. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    Chắc chắn sau khi thay đổi gì trong file conf thì phải restart nginx nó mới có hiệu quả chứ a
    E cũng bỏ vào thư mục sites-enable và mỗi domain 1 file conf riêng. Việc xóa file đi thì có hiệu quả nhưng e đang khoogn hiểu là tại sao nso lại xảy ra việc trỏ sai thư mục ntn a ạ. Nhỡ may sau nay 2 domain đang hoạt động mà trỏ lộn sang cho nhau dẫn đến việc gg index tùm lum thì chết
     
  9. money

    money Hương Chủ

    Anh thì chắc chắn 100% em config lộn chỗ nào đó mà em ko để ý. Anh từng bị như này rồi, sau đó anh cũng tò mò nên download hết thư mục conf về và dò tay + dùng tool compare text từng file mới phát hiện ra chỗ bị nhầm.
     
  10. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    file config site a e gửi bên trên đấy a. Đây là file config site B. A xem qua xem e có sai chỗ nào không. E dò mãi mà vẫn không ra. E cũng tải về dùng sublime text để xem rồi
     

    Attached Files:

  11. wpresources

    wpresources Bang Chúng

    Cách cấu hình domain này nó có gì đặc biệt không?.Nếu không tham khảo cách của mình xem sao.Ví dụ tên miền example.com
    1.sudo apt-get install lamp-server^ -y
    2.Lưu mã code tại /var/www/example_com
    3.Vào thư mục /etc/apache2/sites-available
    4.copy file 000-default.conf tới example_com.conf
    4.Mở file example_com.conf thêm hai dòng sau
    5.Chạy lệnh
    Nhìn hơi lằng nhằng tí nhưng khá dễ dàng
     
  12. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    Cái này bên apache2 cụ ạ. Trước e cũng dùng apache2 nhưng chịu tải hơi kém nên chuyển qua nginx
     
    wpresources likes this.
  13. money

    money Hương Chủ

    @Thanh Nguyen Xem sơ qua 2 file của em cũng ko có gì lạ, chỉ có chỗ server_name đáng lẽ em nên để nó lên trên cùng nhưng em lại khai báo nó bên dưới root (anh không chắc vị trí có ảnh hưởng gì hay ko vì anh cũng ko rành linux :D )

    Thứ tự của anh cấu hình như này:

    Code:
    server {
          listen 80;
            server_name  www tên-domain  chấm com
        return 301 $scheme://tên-domain  chấm com$request_uri;
    }
    
    server {
            listen   80; ## listen for ipv4; this line is default and implied
            #listen   [::]:80 default ipv6only=on; ## listen for ipv6
            server_name tên-domain  chấm com;
    
            root /folders/tên_thư_mục_chứa_code_web;
            index index.php index.html index.htm;
          
            #Các cấu hình khác
    }
     
  14. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    Vâng a. E để nguyên theo định dạng ban đầu của thằng default
     
  15. mr0986

    mr0986 Tân Thủ Thôn

    Config site B thím nói là giống y chang site A (chỉ khác port?) và đặt cùng host?
    Nếu vậy khả năng là do line này:
    fastcgi_pass unix:/run/php/php-fpm.sock
    2 site A, B cùng share chung 1 file socket? Tạm thời comment out dòng đó lại trong config của file B thử xem.

    P/S: comment trên dt, sao mình ko attach được hình nhỉ? Chỉ thấy option insert url?
     
  16. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    File nginx nào cũng phải có dòng đó e nhé, không thì php chạy sao được.
     
  17. mr0986

    mr0986 Tân Thủ Thôn

    1.request -> 2.nginx -> 3.socket -> 4.php-fpm xử lý file php.
    Nội dung config của A,B thím thớt nói là giống nhau (chỉ khác cấu hình ssl) nên cái file socket mình đoán là cũng giống nhau (do đặt cùng location lại cùng tên)
    source B xóa mất rồi nên đoạn 4 của B sẽ ko xử lý được, nhưng ở chỗ 3, cả A cũng lắng nghe được request đó thông qua file socket.

    Chỉ thắc mắc là ko hiểu lúc đầu cấu hình như thế nào mà cả 2 site cùng chạy được : ))

    => Chỉ là phỏng đoán nên mới hỏi thím thớt xóa cái dòng đó đi ở file cấu hình của B để tạm thời xác nhận xem phải nguyên nhân ko đã (Chỉ xóa ở file B nên file A vẫn chạy bình thường)
     
  18. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    cụ không thấy có phần khai báo server name với thư mục code ak. Nó tự động biết tìm đến file php nào để xử lý khi truy cập domain tương ứng chứ
     
  19. Nai

    Nai MiddleMan Staff Member

    Dù sao site B cũng off rồi thì thớt bỏ record A của site B luôn đi. :D.
    Mình đã từng dùng nhiều subdomain để test. CÓ lần subdomain.domainchinh.com trỏ về 1 cái server sau khi test thì remove server đó đi. 1 thời gian sau đó thì IP đó được cấp cho 1 user khác dùng. Thế là tự nhiên thấy domainchinh.com tăng index và có backlink lạ lạ.

    Lúc đó ngỡ đâu là bị hack, ai dè là subdomain.domainchinh.com không dùng nữa mà ko remove đi. :).
     
  20. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    Remove file conf trên vps hả a