Điểm:1

Chuyển hướng miền an toàn sang miền khác thông qua CNAME và Nginx Docker Container

lá cờ jp

Cập nhật: Tôi đã thêm lần thử thứ 2 ở cuối bài đăng này. Nó đang "hoạt động", nhưng tôi muốn thực hiện ý tưởng ban đầu của mình.

Tôi đang cố chuyển hướng yêu cầu https cho miền này sang miền khác thông qua máy chủ chuyển hướng.

tôi sẽ sử dụng https://website.com, https://website2.com, và https://myredirectserver.com ví dụ như.

Tôi đã mua chứng chỉ SSL với giá trang web.com, và đó là DNS được CNAMED tại www đến myredirectserver.com. Ngoài ra còn có chứng chỉ SSL cho mywebsite2.com, và nó hiện nằm trên một máy chủ. Tất cả đều tốt như một tên miền độc lập.

myredirectserver.com có hai Bản ghi Quản lý Lưu lượng A (tính khả dụng cao) trỏ đến hai địa chỉ IP.

Hai địa chỉ IP đó được NAT trong tường lửa tới máy chủ proxy.

Trên máy chủ proxy đó, có Docker Container, chạy Alpine/Nginx.

Dockerfile cho vùng chứa:

TỪ nginx:1.17.7-alpine    
RUN apk thêm --no-cache tzdata    
ENV TZ Mỹ/Chicago    
CHẠY rm /etc/nginx/conf.d/default.conf    
SAO CHÉP myredirectserver.com.conf /etc/nginx/conf.d/myredirectserver.com.conf
CHẠY rm /etc/nginx/nginx.conf    
SAO CHÉP nginx.conf /etc/nginx/nginx.conf    
SAO CHÉP myredirectserver.com.crt /etc/nginx/ssl/myredirectserver.com.crt    
SAO CHÉP myredirectserver.com.key /etc/nginx/ssl/myredirectserver.com.key    
SAO CHÉP proxy_params /etc/nginx/proxy_params

Các docker chạy phần để khởi động nó (có các ổ đĩa được gắn để tạo tệp cấu hình động thông qua mã phụ trợ):

docker run --name=myredirectserver --restart always --log-opt max-size=50m --log-opt max-file=5 -d -v /etc/nginx/myredirectserverBuild:/etc/nginx/myredirectserverBuild -v /etc/nginx/myredirectserverSSL:/etc/nginx/myredirectserverSSL -p 8224:443 -p 8223:80 myredirectserver

Trong Docker Container đó, tệp cấu hình Nginx nằm ở /etc/nginx/conf.d/myredirectserver.com.conf:

 #TÔI KHÔNG BIẾT ĐIỀU NÀY CÓ ĐÚNG CHO NHỮNG GÌ TÔI CẦN
    người phục vụ {
                nghe 443 ssl;
    
                server_name myredirectserver.com www.myredirectserver.com;
                ssl_certificate /etc/nginx/ssl/myredirectserver.com.crt;
                ssl_certificate_key /etc/nginx/ssl/myredirectserver.com.key;
            }
            người phục vụ {
                nghe 80;
                server_name myredirectserver.com www.myredirectserver.com;
                trả lại 301 https://www.myredirectserver.com$request_uri;
            }
    
    bao gồm /etc/nginx/myredirectserverBuild/*.conf;

Tệp bao gồm ở cuối chứa nguyên miền được yêu cầu, mywebsite.com.conf:

 ## máy chủ ảo www.mywebsite.com
        người phục vụ {
            nghe 443 ssl;

            server_name mywebsite.com www.mywebsite.com;
            ssl_certificate /etc/nginx/myredirectwebsiteSSL/mywebsite.com.crt;
            ssl_certificate_key /etc/nginx/myredirectwebsiteSSL/mywebsite.com.key;               
        }
        người phục vụ {
            nghe 80;
            server_name mywebsite.com www.mywebsite.com;
            trả lại 301 https://www.mywebsite2.com$request_uri; <--- Chuyển hướng
        }
        

Các trang web2.com tên miền nằm trên máy chủ lưu trữ và tôi có thể yêu cầu tên miền đó như bình thường. Tôi chỉ không thể tìm ra nơi tôi đã đi sai. Tôi cảm thấy như nó nằm trong (các) cấu hình Nginx của tôi, nhưng cú pháp Nginx của tôi không phải là tốt nhất. Tại sao là của tôi trả lại 301 không hoạt động và chuyển hướng tôi đến tên miền?

Một vài lưu ý trong quá trình khắc phục sự cố:

quên 0.0.0.0:8223 trả về:

  --2021-07-26 23:44:19-- http://0.0.0.0:8223/
Đang kết nối với 0.0.0.0:8223... đã kết nối.
Đã gửi yêu cầu HTTP, đang chờ phản hồi... 301 Đã di chuyển vĩnh viễn
Vị trí: https://www.mywebsite2.com/ [theo sau]
--2021-07-25 23:44:19-- https://www.mywebsite2.com/
Đang giải quyết www.mywebsite2.com (www.mywebsite2.com)... XX.XXX.XXX.XXX
Đang kết nối với www.mywebsite2.com (www.mywebsite2.com)|XX.XXX.XXX.XXX|:443... đã kết nối.
Đã gửi yêu cầu HTTP, đang chờ phản hồi... 200 OK
Độ dài: không xác định [text/html]
Đang lưu vào: âindex.htmlâ

index.html [ <=> ] 37,56K 231KB/giây trong 0,2 giây    

25-07-2021 23:44:20 (231 KB/giây) - âindex.htmlâ đã lưu [38461]

curl --resolve www.myredirectserver.com:8223:0.0.0.0 http://www.myredirectserver.com/ trả về thời gian chờ, cũng như trình duyệt.

Khi ở trên mạng cục bộ, hãy nhập IP của bộ chứa Docker vào thanh địa chỉ (192.168.69.140:8223) đưa tôi đến https://www.website2.com.

nhập https://192.168.69.140:8224 đưa tôi đến một trang cảnh báo giật gân bảo mật. Nhấp chuột tiếp tục, và nó mang lại cho tôi một 404.

Tôi lúng túng vì không biết xử lý yêu cầu như thế nào khi nó đến IP của CNAME myredirectserver.com. Làm cách nào tôi có thể yêu cầu Nginx xem miền được yêu cầu ban đầu trang web.com?

Cập nhật (lần thử thứ 2):

Tôi đã dừng bộ chứa Docker và thay đổi CNAME tại www cấp trong DNS để trỏ đến một IP có tính khả dụng cao đã tồn tại. tôi sẽ gọi nó máy chủ đích.net. Nên về cơ bản:

`mywebsite.com`
|
|---> CNAME 'destinationserver.net'

`destinationserver.net`
|
|----> A XX.XXX.XXX.XXX --> Tường lửa --> Proxy

|----> A XX.XXX.XXX.XXX --> Tường lửa --> Proxy

trên máy chủ đích.net máy chủ, tôi có phần sau trong cấu hình Nginx cho trang web.com:

# ## máy chủ ảo www.mywebsite.com
        người phục vụ {
            nghe 8222 ssl;

            server_name mywebsite.com www.mywebsite.com;
            ssl_certificate /etc/nginx/ssl/mywebsite.com.crt;
            ssl_certificate_key /etc/nginx/ssl/mywebsite.com.key;
            trả lại 301 http://www.mywebsite2.com$request_uri;
        }
        người phục vụ {
            nghe 8221 ;
            server_name mywebsite.com www.mywebsite.com;
            trả lại 301 https://www.mywebsite2$request_uri;
        } 

Như tôi đã nêu trong phần 'Cập nhật' ở dòng đầu tiên của câu hỏi, điều này "đang hoạt động", nhưng sẽ rất tuyệt nếu xử lý các chuyển hướng này trong một không gian riêng biệt, do đó có ý tưởng về vùng chứa Docker.

Điểm:0
lá cờ jp

Tôi đã loại bỏ ý tưởng máy chủ chuyển hướng và thay vào đó là hai điều:

Tôi đã thêm một TÊN (Bí danh) vào miền gốc để www các yêu cầu sẽ chuyển đến cùng một vị trí của trình quản lý lưu lượng truy cập Khả dụng cao giống như vị trí khôngwww yêu cầu. Sau đó, trong Nginx config, tôi đã thêm phần sau để chuyển hướng các yêu cầu:

# ## máy chủ ảo www.mywebsite.com
        người phục vụ {
            nghe 8222 ssl;

            server_name mywebsite.com www.mywebsite.com;
            ssl_certificate /etc/nginx/ssl/mywebsite.com.crt;
            ssl_certificate_key /etc/nginx/ssl/mywebsite.com.key;
            trả lại 301 https://www.mywebsite2.com$request_uri;
        }
        người phục vụ {
            nghe 8221 ;
            server_name mywebsite.com www.mywebsite.com;
            trả lại 301 https://www.mywebsite2$request_uri;
        } 

Điều này đang hoạt động cho những gì tôi cần, vì vậy trừ khi có ai đó sử dụng phương pháp tốt hơn, tôi sẽ để nguyên như vậy.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.