Tôi đã xây dựng một máy chủ web lang thang/virtualbox như một sandbox phát triển và cấu hình apache trong VM cho ssl (trên cổng mặc định 443, với một ký tự chứng chỉ). Tôi đã thử nghiệm các trang trên máy ảo bằng cách sử dụng curlTruy cập apache trên một sandbox lang thang bằng cách sử dụng ssl (cổng chuyển tiếp)
curl -v -k https://mysite.mydomain.com/testSearch/results?postcode=WN8+0BA
và dường như hoạt động khá vui vẻ, vì vậy tôi hài lòng rằng apache được định cấu hình chính xác và hoạt động trong máy ảo.
Tuy nhiên, khi tôi cố gắng truy cập máy ảo từ trình duyệt của máy chủ lưu trữ của tôi qua https, tôi không thể làm như vậy.
Tôi đã thêm
config.vm.forward_port "https", 443, 8443
để vagrantfile của tôi, nhưng cố gắng để truy cập vào url
https://mysite.mydomain.com:8443/testSearch/results?postcode=WN8+0BA
đơn giản là không thể hiển thị trang tôi đã thử với các trình duyệt khác nhau: IE cho một "Internet Explorer vô nghĩa không thể hiển thị trang web"; Chrome cho
SSL connection error
Unable to make a secure connection to the server. This may be a problem with the server or it may be requiring a client authentication certificate that you don't have.
Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.
Firefox mang lại cho tôi
An error occurred during a connection to mysite.mydomain.com:8443.
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)
nhưng ngay cả những tab Firebug Net không cho tôi biết bất cứ điều gì nhiều hơn thế.
Tôi không nhận được bất kỳ điều gì trong truy cập hoặc nhật ký lỗi trên apache VM, vì vậy tôi nghi ngờ rằng không có chuyển tiếp âm thanh ở tất cả.
- VM Khách OS: centos56x64
- Host: Windows 7 64-bit
- JRuby: 1.6.3 (ruby-1.8.7-P330) (2011/07/07 965162f) (Java HotSpot (TM) 64-Bit server VM 1.6.0_24) [Windows 7-amd64-java]
- Vagrant: 0.7.8
- VirtualBox: 4.0.12
Bất kỳ trợ giúp sẽ được biết ơn chấp nhận.
Khi sử dụng giải pháp này, bạn phải thực hiện các bước 2 và 3 lặp đi lặp lại khi bạn hủy hộp Vagrant. Sử dụng một kịch bản cung cấp (bash), Chef hoặc Puppet sẽ làm cho nhiệm vụ này ít lặp đi lặp lại nhiều. –
Đối với googlers, tôi phải chỉ định cả một 'SSLCertificateFile' thành một tệp' .crt' và 'SSLCertificateKeyFile' thành tệp' .key'. –