Penemuan Terbaru
Dengan IIS diatur kembali ke port 80
, ketika saya dimasukkan ke dalam http://localhost/
komputer WHS, itu memberi saya halaman "Ada masalah dengan sertifikat keamanan situs web ini". Jika saya "Lanjutkan", url ini muncul https://localhost/Remote/logon?ReturnUrl=%2fremote
untuk Akses Web Jarak Jauh Windows Home Server 2011 untuk username
dan password
. Sekarang, saya tidak dapat mengingat dengan pasti, tetapi saya tidak percaya bahwa pada awalnya hanya http://localhost/
mengemukakan masalah ini. Namun, sepertinya ini dapat mempengaruhi upaya untuk mengakses localhost (terlepas dari port).
Apa yang sebenarnya menjadi masalah utama
Oh, seluk beluk jaringan! Satu hal yang terus mengganggu saya adalah mengapa dua situs akan "sebagian" muncul, dan yang lainnya tidak sama sekali. Kemudian, menjalankan pelacakan NET Firebug mengungkapkan kepada saya bahwa masalah utama saya adalah bahwa ISP saya bertindak sebagai proksi DNS , dan tentu saja tidak menemukan situs pengujian saya. Tapi ia menemukan dua situs yang hidup di alamat www.
(bukan test.
), dan tampaknya melayani mereka, tetapi gambar diblokir karena (saya berasumsi) saya telah menyiapkan blok untuk mengakses file gambar jika bukan dari www.
untuk situs tertentu.
Itu menjelaskan misteri gambar yang tidak ditampilkan (mengharapkan localhost:8080
panggilan langsung ) dan perilaku aneh dalam "sebagian" menemukan dua dari lima situs tersebut.
Sekarang saya perlu mencari cara untuk mengkonfigurasi dengan benar router saya atau file proxy untuk mengarahkan kembali ke komputer WHS saya. Saya menggunakan layanan internet satelit Wildblue, karena saya berada di luar area koneksi layanan yang lebih cepat. Mereka memiliki file "pengoptimal" (Saya tidak tahu apakah itu dapat dilihat oleh semua orang atau tidak, jika tidak, pada dasarnya sama dengan versi ini ), sehingga saya dapat memodifikasi dan memakai sistem lokal saya untuk mencapai apa yang saya butuhkan, tetapi saya tidak yakin apa yang harus saya lakukan di sana.
Jika ada yang punya saran tentang memodifikasi file itu, atau bagaimana mengkonfigurasi router Linksys E1200 saya untuk menghindari pengiriman ke proxy jika itu adalah situs lokal, maka itu mungkin langkah pertama (dan mungkin terakhir) untuk menyelesaikan masalah saya.
Kode perwakilan berdasarkan rekomendasi harrymc ... masih tidak berfungsi
Port IIS diatur ke :90
.
httdp
mengajukan:
Listen *:80
ServerName localhost:80
vhosts
mengajukan:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
ProxyRequests off
ProxyPass / http://127.0.0.1:90/
ProxyPassReverse / http://127.0.0.1:90/
</virtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Users/Public/LocalWebsites/site1.net/httpdocs"
ServerName test.site1.net
ProxyRequests off
ProxyPass / http://127.0.0.1/
ProxyPassReverse / http://127.0.0.1/
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Users/Public/LocalWebsites/site2.net/httpdocs"
ServerName test.site2.net
ProxyRequests off
ProxyPass / http://127.0.0.1/
ProxyPassReverse / http://127.0.0.1/
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Users/Public/LocalWebsites/site3.com/httpdocs"
ServerName test.site3.com
ProxyRequests off
ProxyPass / http://127.0.0.1/
ProxyPassReverse / http://127.0.0.1/
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Users/Public/LocalWebsites/site4.com/httpdocs"
ServerName test.site4.com
ProxyRequests off
ProxyPass / http://127.0.0.1/
ProxyPassReverse / http://127.0.0.1/
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/Users/Public/LocalWebsites/site5.com/httpdocs"
ServerName test.site5.com
ProxyRequests off
ProxyPass / http://127.0.0.1/
ProxyPassReverse / http://127.0.0.1/
</VirtualHost>
Pembaruan Sebelumnya: Apa yang saya yakini sebagai masalah utama (mungkin merupakan sub masalah)
Bagaimana cara membuat Windows Home Server (menjalankan IIS) meneruskan URL localhost khusus ke port 8080
sehingga Apache (bukan IIS) yang berjalan pada mesin yang sama mengambil permintaan untuk melayani halaman?
The c:\Windows\System32\drivers\etc\hosts
file telah berubah (lihat di bawah), tapi saya menganggap bahwa tidak ada hubungannya dengan rerouting ke port baru. IIS, saya juga berasumsi, mengambil test.whatever
permintaan url khusus pada port 80
dan routing ke host lokal sendiri di port yang sama.
Saya mengunduh Routing Permintaan Aplikasi dari tip di situs yang saya temukan dalam riset, tetapi dalam melihatnya, saya tidak yakin apakah itu akan membantu atau tidak (harapan saya adalah untuk mengatur beberapa penerusan berbasis url ke port 8080
olehnya). Saya seorang desainer web, bukan penyihir jaringan. Jadi bagaimana semua ini bekerja agak sulit bagi saya.
Kemungkinan Arah untuk Pergi
Berdasarkan dari tautan ini (ditemukan setelah mencari lebih banyak berdasarkan komentar pertama erikxiv di bawah) Saya mencoba yang berikut di IIS sebagai URL menulis ulang:
Aturan Keluar:
Cocok: .*
(sepertinya menguji baik-baik saja)
Kondisi:
Cocok dengan Semua ... (ini tampaknya menguji kecocokan pola, oke)
{HTTP_HOST} Matches the Pattern test\.site1\.net
{HTTP_HOST} Matches the Pattern test\.site2\.net
{HTTP_HOST} Matches the Pattern test\.site3\.com
Tindakan Menulis Ulang:
http://localhost:8080/{R:0} (it would not let me put R:1 like the example)
Tetapi tampaknya masih tidak ada penerusan!
Informasi di bawah ini sekarang semua latar belakang di belakang permintaan baru, di atas.
Info Latar Belakang
Saya baru-baru ini mengubah desktop lama yang menjalankan Windows XP menjadi Windows Home Server (2011). Komputer lama juga menjadi tuan rumah bagi situs uji lokal yang berjalan pada instalasi Apache. Melakukan beberapa penelitian mengungkapkan bahwa menjalankan Apache pada mesin WHS tidak akan sesulit yang saya pikirkan (banyak situs mengatakan bahwa IIS dari WHS dan Apache akan menyebabkan masalah, tetapi beberapa saya menemukan disebutkan tidak ada masalah sama sekali jika diatur dengan benar- -pada dasarnya, pastikan tidak ada konflik port).
Jadi saya menginstal WAMP (versi 64-bit) ke komputer WHS, dan mengubah pengaturan di httpd
file konfigurasi Apache untuk mendengarkan di port 8080
sehingga tidak akan ada konflik dengan IIS. Saya mengatur file host virtual saya seperti pada komputer XP, hanya dengan perubahan port juga.
Pada dasarnya, semuanya tampak berjalan baik (namun, lihat pembaruan), kecuali ...
Masalah (Asli)
Sementara halaman ke situs lokal menarik dengan baik, dan semua css dan javascript berfungsi, setiap file gambar tidak ditampilkan . Info jalur benar karena dibuktikan dengan mengklik kanan dan memilih View Image Info
(di Firefox ... omong-omong, gambar tidak ditampilkan di peramban apa pun, jadi ini bukan bug peramban).
Apa yang saya perhatikan, bagaimanapun, adalah bahwa Type
di kotak info gambar ditampilkan text/html
, bukan PNG Image
atau JPEG Image
dll. Ini ada di informasi di bawah ini yang menunjukkan info jalur (alamat) - di bagian itu, ia mengenali bahwa file itu sendiri adalah Type
salah satu Image
atau Background
.
Namun terlepas dari kenyataan itu, tampaknya daripada mengenali tipe mime yang benar (saya berasumsi) dari gambar dalam html (sebenarnya php yang dihasilkan html), alih-alih mencoba untuk memproses gambar (apakah img
elemen atau css background-image
) sebagai teks, dan dengan demikian tidak memberi saya apa-apa! Tapi saya tidak tahu mengapa. The mime
berkas mengendalikan Apache mime-jenis benar. Halaman memiliki tajuk berikut ...
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
... tetapi itu seharusnya tidak menyebabkan masalah (mereka tidak ketika menjalankan di XP, juga tidak di situs langsung).
Jadi saya mencari pemikiran tentang:
- Apakah analisis saya tentang tipe mime menjadi masalah yang benar (berdasarkan pembaruan, mungkin tidak)?
- Di mana lagi saya bisa melihat yang mungkin menyebabkan masalah, dan bagaimana cara memperbaikinya? Mungkinkah itu masih merupakan konflik dengan IIS di WHS, dan jika demikian, apa? Mungkinkah apa pun di php (ini tampaknya tidak mungkin), dan jika demikian, apa? Apa lagi yang bisa saya periksa di Apache?
Info Terkini (dengan lebih banyak [terkait?] Masalah)
Melakukan lebih banyak main-main, saya sampai pada kesimpulan bahwa setidaknya sebagian dari masalah tampaknya menjadi perubahan ke port :8080
. Pertama, saya menyadari tidak semua baik dan saya pikir untuk mendapatkan semua situs saya. Saya memiliki representasi ini di c:\Windows\System32\drivers\etc\hosts
file saya :
127.0.0.1 localhost
127.0.0.1 test.site1.net
127.0.0.1 test.site2.net
127.0.0.1 test.site3.com
127.0.0.1 test.site4.com
127.0.0.1 test.site5.com
Dan representasi ini di vhosts
file apache saya :
NameVirtualHost *:8080
<VirtualHost *:8080>
DocumentRoot "C:/Users/Public/Documents/LocalWebsites/site1.net/httpdocs"
ServerName test.site1.net
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "C:/Users/Public/Documents/LocalWebsites/site2.net/httpdocs"
ServerName test.site2.net
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "C:/Users/Public/Documents/LocalWebsites/site3.com/httpdocs"
ServerName test.site3.com
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "C:/Users/Public/Documents/LocalWebsites/site4.com/httpdocs"
ServerName test.site4.com
</VirtualHost>
<VirtualHost *:8080>
DocumentRoot "C:/Users/Public/Documents/LocalWebsites/site5.com/httpdocs"
ServerName test.site5.com
</VirtualHost>
Inilah perilaku : site1
dan site4
muncul, tetapi tanpa gambar. Tiga lainnya tidak muncul sama sekali, tetapi memberi Network Error (dns_unresolved_hostname)
.
Namun, jika saya mengakses situs pertama di vhosts pada mesin WHS dengan menggunakan localhost:8080
di url, maka gambar yang muncul , dan situs mana yang pertama dalam file vhosts saya juga muncul (yang diharapkan); Namun, ia melakukannya bahkan jika itu adalah salah satu yang sebelumnya tidak akan (jadi jika saya pindah site2
ke posisi pertama, itu mulai "berfungsi" melalui localhost:8080
panggilan).
Saya tahu file gambar saya mengembalikan kesalahan 403
( dikoreksi, awalnya saya katakan 404 ) ketika diakses melalui test.site4.com
sintaks di url, dan saya menduga bahwa gambar saya muncul text/html
karena file mengembalikan kesalahan itu (jadi saya tidak berpikir itu adalah masalah tipe mime sekarang karena banyak kegagalan untuk menemukan gambar). Tetapi yang aneh adalah bahwa jalurnya benar, dan file non-gambar (javascript dan css) muncul dengan baik.
Jadi dalam pikiran saya sepertinya ada sesuatu dengan port switch 8080
. Masalah saya sekarang adalah:
- Mengapa file host dan vhosts saya tidak menemukan semua situs dengan benar (adakah file lain yang perlu saya modifikasi pada Windows Home Server)?
- Di situs-situs itu memang berfungsi, mengapa gambar secara khusus tidak ditemukan (dengan kesalahan 403, itu adalah "dilarang" saya percaya, yang tidak masuk akal jika file lain di folder situs web diizinkan mengakses)?
- Mengapa
localhost:8080
akses bekerja apa pun yang terkait dengan dua masalah pertama?
Beberapa Info Lebih Lanjut
Permintaan dibuat bagi saya untuk mengirim file log. Namun, saya menemukan tidak ada log yang terjadi kecuali (muncul) dalam contoh tersebut ketika saya diakses melalui localhost:8080
panggilan langsung ke situs "default".
Jadi saya mematikan layanan WAMP, dan pergi ke url dan menemukan perilaku yang sama seperti ketika WAMP sedang berjalan. Ini tampaknya menunjukkan bahwa IIS masih mengendalikan nama-nama domain, daripada Apache mengambilnya ( dapatkah seseorang mengkonfirmasi asumsi saya di sana? ) , Dan dengan demikian masalahnya mungkin masih berupa sesuatu dengan mendapatkan kontrol sendiri ke server WAMP.