người phục vụ {
nghe 80;
server_name example.com;
địa điểm / {
viết lại ^/(.*)$ https://$host$1 vĩnh viễn;
}
}
người phục vụ {
nghe 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/example.crt;
ssl_certificate_key /etc/ssl/example.key;
ssl_session_cache được chia sẻ:SSL:1m;
ssl_session_timeout 5 phút;
địa điểm / {
proxy_pass https://www.google.com;
proxy_set_header Máy chủ www.google.com;
proxy_set_header Người giới thiệu https://www.google.com;
proxy_set_header Tác nhân người dùng $http_user_agent;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Mã hóa chấp nhận "";
proxy_set_header Ngôn ngữ chấp nhận $http_accept_language;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
sub_filter google.com example.com;
sub_filter_once tắt;
}
}
Tôi đang cố gắng sử dụng cái này, nhưng 0.0.0.0:80 đang được apache sử dụng, nhưng câu hỏi đặt ra là làm cách nào tôi có thể đảo ngược proxy một yêu cầu từ bi.example.com sang google.com trong khi vẫn có webservice.example.com chuyển hướng yêu cầu tới example.com nơi lưu trữ dịch vụ web API. Tôi không nghĩ rằng nó có thể được thực hiện, nhưng tôi có thể sai.
Tôi gặp lỗi này khi cố khởi động nginx:
Ngày 28 tháng 12 10:52:22 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:443 fail (98: Địa chỉ cũ...sử dụng)
Ngày 28 tháng 12 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:80 fail (98: Địa chỉ alr...use)
Ngày 28 tháng 12 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:443 fail (98: Địa chỉ cũ...sử dụng)
Ngày 28 tháng 12 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:80 fail (98: Địa chỉ alr...use)
Ngày 28 tháng 12 10:52:23 example.com nginx[27291]: nginx: [emerg] bind() to 0.0.0.0:443 fail (98: Địa chỉ cũ...sử dụng)
Ngày 28 tháng 12 10:52:24 example.com nginx[27291]: nginx: [emerg] vẫn không thể liên kết()
Tôi đã kiểm tra các cổng và nó đang được sử dụng bởi httpd, tương ứng với Apache.
Để giải thích thêm, tôi có hai CNAME chuyển hướng đến example.com và tôi muốn chuyển hướng đến một trang khác với Google, nhưng đây chỉ là một ví dụ, do đó cả hai CNAME đều chuyển hướng đến cùng một url, tôi không nghĩ đây là có thể và không thể chuyển hướng từ một url này sang một url khác để cung cấp chứng chỉ SSL tới một liên kết khác ngoài Google.com nếu cổng 80 được Apache sử dụng. Ngoài việc sử dụng một máy chủ hoàn toàn mới cho việc này, còn khả năng nào khác không? Hiện tại, có một chuyển hướng CNAME từ bi.example.com sang một url khác ngoài Google và tôi đã cố gắng thiết lập một chuyển hướng với nginx bằng cách trỏ CNAME từ bi.example.com đến example.com thay vì url khác.