Đầu tiên, xin lưu ý rằng chuyển hướng vĩnh viễn được lưu trữ bởi trình duyệt web của bạn, vì vậy nếu bạn đã thực hiện thay đổi và đang thử nghiệm một cấu hình đã sửa đổi, hãy thận trọng trước và/hoặc điều chỉnh phương pháp thử nghiệm của mình. Thêm về điều đó đây.
IMHO cấu hình của bạn cũng có nhiều lỗi và giả định không chính xác.
KHÔNG BẬT / CHO PHÉP yêu cầu proxy!!!
ProxyPreserveHost Bật
Yêu cầu proxy đang bật
ProxyVia On
<Ủy quyền *>
Lệnh từ chối, cho phép
cho phép từ tất cả
</Ủy quyền>
Các chỉ thị trên là để tạo ra một chuyển tiếp proxy. Thậm chí tệ hơn, nó là mở proxy, có thể và sẽ bị lạm dụng bởi bất kỳ ai muốn ẩn địa chỉ IP của họ bằng máy chủ web của bạn.
Bạn không cần Yêu cầu proxy đang bật
cho một đảo ngược Ủy quyền và Proxy Pass
hướng dẫn làm việc.
Hãy loại bỏ những.
Trong HTTP VirtualHost của bạn
Khi bạn chỉ có một Virtualhost, nó sẽ trở thành Virtualhost mặc định (cho cổng và địa chỉ đó). Mô tả dài hơn đây. Vì vậy, trừ khi bạn có các khối VirtualHost bổ sung được xác định, mục duy nhất này:
<Máy chủ ảo *:80>
ServerAdmin [email protected]
ServerName example.me
sẽ được sử dụng cho tất cả các yêu cầu http đơn giản, tức là cả hai http://example.me/some-page.htm?foo=bar
, http://www.example.me
, http://your.ip-address/
v.v. VirtualHost đó sẽ được sử dụng ngay cả khi không có quy định rõ ràng ServerAlias www.example.com
chỉ định www.example.com
làm tên máy chủ thay thế cho Virtualhost cụ thể đó.
Chuyển hướng vĩnh viễn "/" "https://example.me/"
Hướng dẫn rằng tất cả các yêu cầu sẽ dẫn đến phản hồi chuyển hướng đến https://example.me/
nói cách khác:
http://example.me/some-page.htm?foo=bar ==> https://example.me/some-page.htm?foo=bar
http://www.example.me ==> https://example.me/
http://your.ip-address/bob/is.awe-some ==> https://example.me/bob/is.awe-some
Khi bạn chuyển hướng mọi thứ đi, thì cũng vô nghĩa khi có bất kỳ lệnh nào khác thường được dùng để hiển thị nội dung trong Virtualhost đó, vì vậy bạn có thể bỏ qua Tài liệuRoot
, Proxy Pass
v.v. và giữ một http Virtualhost đơn giản rất tối thiểu:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.me
UseCanonicalName Off
Redirect permanent "/" "https://example.me/"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Trong HTTPS VirtualHost của bạn, điều tương tự cũng đúng: nếu không có VirtualHost nào khác, nó sẽ là mặc định được sử dụng cho bất kỳ yêu cầu nào.
Tất nhiên, điều duy nhất là chứng chỉ TLS của máy chủ; chỉ hợp lệ đối với tên máy chủ được bao gồm trong đó, tên máy chủ khác sẽ dẫn đến lỗi/cảnh báo chứng chỉ không hợp lệ.
Bạn có thể sẽ cần kiểm tra nội dung của tệp bạn đưa vào đây:
Bao gồm /etc/apache2/sites-available/redirect.conf