Saya tidak bisa mengakses situs wordpress server rumah saya secara eksternal

0

Pada dasarnya, saya dapat mengakses semuanya dengan baik menggunakan 127.0.0.1, tetapi jika saya menggunakan IP eksternal saya (123.123.123.123), saya mendapatkan halaman tidak ditemukan.

Router saya meneruskan port HTTP port 80 ke port 8080 pada alamat IP internal server saya. Dengan kata lain: (Aplikasi: HTTP | Mulai: 80 | Akhir: 8080 | Protokol: Keduanya | Alamat IP 192.168.0.101 | Aktifkan [YA]) Saya tahu itu meneruskan dengan benar, karena ketika saya menghentikan port forwarding, saya dapat mengakses router saya halaman dengan menggunakan IP eksternal saya.

File host virtual saya adalah:

NameVirtualHost *:80
    <VirtualHost *:80>
    DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress
    ServerName example.com
    ServerAlias www.example.com
</VirtualHost>

dan file httpd.conf saya adalah:

Listen 80
Servername localhost:80
DocumentRoot "/opt/lampstack-5.3.16-0/apache2/htdocs
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny, allow
    deny from all
</Directory>
<Directory "/opt/lampstack-5.3.16-0/apache2/htdocs">
    Options FollowSymLinks
    AllowOverride None
    Order allow, deny
    allow from all
</Directory>
piratepartypumpkin
sumber
Bisakah Anda mengaksesnya secara lokal, dari komputer lain di jaringan Anda?
Tanner Faulkner
Jika saya menggunakan komputer saya yang lain di jaringan saya dan ketik 127.0.0.1, saya mendapatkan halaman tidak ditemukan. BTW, saya memiliki "Filter Internet NAT Redirection" tidak dicentang di pengaturan router saya. Tetapi tidak ada bedanya jika saya menghidupkan atau mematikannya.
piratepartypumpkin
baik Anda mengetik http://192.168.0.101/dari komputer lain di jaringan Anda, 127.0.0.1 selalu merujuk ke mesin lokal.
Luke
Terima kasih Luke, saya mencobanya dengan NAT Redirection on dan off dan 192.168.0.101 memberi saya halaman yang tidak ditemukan dua kali.
piratepartypumpkin
Sudahkah Anda memeriksa untuk melihat apa yang dikatakan oleh log kesalahan apache Anda? Cari ErrorLogdi httpd.conf Anda untuk menemukan tempatnya.
Lukas

Jawaban:

1

Anda menggunakan hosting virtual berbasis nama. Jika Anda mencoba mengakses situs web Anda menggunakan nama lain, Anda akan mendapatkan situs default.

NameVirtualHost *:80

Servername localhost:80
David Schwartz
sumber
Maaf jika saya tidak mengerti dengan benar. Apa yang harus saya lakukan untuk memperbaikinya? saya meletakkan "Servername 123.123.123.123:80" alih-alih "Servername localhost: 80"? 123.123.123.123 menjadi IP eksternal saya. Juga jika saya mencoba mengakses situs web saya menggunakan example.com atau www.example.com, itu juga memberi saya halaman yang tidak ditemukan.
piratepartypumpkin
Menurut apache.org , "Tanda bintang cocok dengan semua alamat, sehingga server utama tidak melayani permintaan. Karena fakta bahwa www.example.com adalah yang pertama dalam file konfigurasi, ia memiliki prioritas tertinggi dan dapat dilihat sebagai default atau server utama. Itu berarti bahwa jika permintaan diterima yang tidak cocok dengan salah satu arahan ServerName yang ditentukan, itu akan dilayani oleh VirtualHost pertama ini. " jadi seharusnya default ke vhost pertama (hanya). Jika menggunakan situs default, dia akan melihat apache2 / htdocs bukan?
Luke
Anda benar dari apa yang saya baca juga Luke, saya mencoba www.example.com, saya mencoba example.com, saya mencoba example.com:80, dan www.example.com:80 dan tidak beruntung sejauh ini.
piratepartypumpkin
1

Saya pikir masalahnya berasal dari menentukan DocumentRoot yang telah menolak izin di atasnya - tetapi Anda harus mendapatkan 403 Kesalahan Terlarang, bukan 404 Tidak Ditemukan (setidaknya saya lakukan ketika saya mencoba meniru konfigurasi Anda).

DocumentRoot /opt/lampstack-5.3.16-0/apps/wordpress

karena direktori ini tidak memiliki <Directory >entri itu mewarisi izin default

<Directory />
  Options FollowSymLinks
  AllowOverride None
  Order deny, allow
  deny from all
</Directory>

coba komentari garis tolak

  #Order deny, allow
  #deny from all

atau membuat entri baru, untuk menguji masalah ini

<Directory "/opt/lampstack-5.3.16-0/apps/wordpress">
  Options FollowSymLinks
  AllowOverride None
  Order allow, deny
  allow from all
</Directory>

Catatan: Anda harus mencoba mengakses server dengan alamat ip untuk saat ini, www.example.com tidak akan membawa Anda ke mana pun karena tidak ada entri DNS untuk itu (atau jika ada, itu tidak mengarah ke server Anda ).

Luke
sumber
Apa yang saya lakukan adalah saya mengubah Orde menyangkal, mengizinkan Orde mengizinkan, menyangkal dan saya mengubah Tolak dari semua menjadi Izinkan dari semua. Lalu saya restart apache, masalahnya tetap tidak berubah.
piratepartypumpkin
Nah jika Anda benar-benar mendapatkan kesalahan "404 Tidak Ditemukan", dan bukan "403 Dilarang", saya tidak yakin. Apakah Anda yakin tidak memiliki firewall perangkat lunak atau sesuatu yang memblokir lalu lintas masuk pada 80? Anda perlu menemukan ErrorLog Anda dan mengakses log dan melihat apakah mereka dapat memberikan petunjuk tentang apa yang terjadi.
Lukas
1

Sepertinya itu masalah router. Meskipun saya telah mencoba me-restart router saya, meskipun saya mencoba semuanya dengan pengalihan nat diaktifkan dan dinonaktifkan. Saya baru saja duduk, dan router saya mereset sendiri. Saya harus memasukkan kata sandi default untuk masuk ke halaman admin router saya (bukan kata sandi yang saya atur). Semuanya bekerja dengan baik setelah itu.

Coba juga tidak ada apa-apa di file vhosts Anda, itu juga bisa berfungsi

Moral dari kisah ini: coba router yang lain untuk berjaga-jaga.

piratepartypumpkin
sumber