Запомняне

» Здравейте
[ Вход :: Регистриране ]
Тема: Проблем с Apache Vhost
Мнение #1 Skip to the next post in this topic.
Написано на: Юни 10 2010, 10:08

No avatar chosen




Група: Li fans
Мнения: 4
Регистриран: Юни 2010

Оценка: няма

Offline
Здравейте,
от няколко дни се мъча да реша един проблем .... надявам се някой да помогне.
Накратко ..... имам работещ домейн както и работещ събдомейн, но искам събдомейна да е httpS. Всичко е добре ... проблема е в това, че когато достъпвам събдомейна на http://sub.domain.com   ми се зарежда http://domain.com  ... а аз не искам това. Събдомейна трябва да се зарежда само на httpS://sub.domain.com  ... на останалите портове  да не се зарежда нищо за събдомейна. Ето и настройките ....

Apache version 2.2.3   &&& CentOs 5.4

Listen *:80
Listen *:443
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
ServerName domain.com
<Directory /www/domain>
allow from all
</Directory>
</VirtualHost>

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /path to crt
SSLCertificateKeyFile /path to key
ServerName sub.domain.com
<Directory /www/domain/subdomain>
allow from all
</Directory>
</VirtualHost>

Благодаря Предварително
Контакти:  scarpa

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #2 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Юни 10 2010, 11:11

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
RewriteEngine On
       RewriteCond %{SERVER_PORT}   80
       RewriteCond %{HTTP_HOST} ^sub.domain.com$
       RewriteRule ^(.*)$         https://sub.domain.com/$1

другият вариант е:
RedirectMatch ^/$ https://sub.domain.com
но ти трябва да добавиш още един vhost :80 за sub.domain.com


първото го вмъкваш в .htaccess или vhost :80

Редактирано от altoas на Юни 10 2010, 11:16

Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #3 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Юни 10 2010, 11:35

No avatar chosen




Група: Li fans
Мнения: 4
Регистриран: Юни 2010

Оценка: няма

Offline
Здравей Altoas,
Мерси за вариантите ... значи пробвах ги и 2 и работят, но не това е търсения ефект.
Идеята е да се достъпва събдомейна само ако сме въвели точно URL  и то да е httpS://sub.domain.com ... а не на http://sub.domain.com да ме пренасочва ....
Това ще е нещо като събдомейн в които ще има неща само за потребители в локална мрежа
и ТЕ ще знаят точно как да го достъпят ... няма нужда от Redirect ...

Дано да има и други варианти за решение ...
Контакти:  scarpa

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #4 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Юни 11 2010, 10:43

No avatar chosen




Група: Li gurus
Мнения: 1489
Регистриран: Април 2005

Оценка: 5

Offline
офтопик ама https просто отбелязва криптирана сесия - щом идеята ти няма отношение към сесията а цели да направи разграничение м/у публична и частна мрежа то използвай именно това (номерът на частната мрежа) за определяне на съдържанието до което ще имат достъп потребителите - така адресът си остава http://sub.domain.com но в зависимост от това от къде идва заявката потребителите ще имат достъп до различно съдържание
в зависимост от реализацията различното съдържание може да се намира дори на отделни машини и съответно различи сървъри (просто пренасочване с iptables - така отпада и необходимостта да се добавя допълнителна защита на частните данни защото те си остават налични единствено в частната мрежа без никакъв достъп от вън)

обикновено е голяма грешка да смяташ че ТЕ знаят какво правят и същевременно сигурността да зависи от това че ТЕ няма да споделят с приятелите как да ползват същия частен ресурс

Редактирано от mcwolf на Юни 11 2010, 10:45
Контакти:  mcwolf

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #5 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Юни 11 2010, 11:58

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
Quote: (scarpa @ Jun. 10 2010, 08:35)

Здравей Altoas,
Мерси за вариантите ... значи пробвах ги и 2 и работят, но не това е търсения ефект.
Идеята е да се достъпва събдомейна само ако сме въвели точно URL  и то да е httpS://sub.domain.com ... а не на http://sub.domain.com да ме пренасочва ....
Това ще е нещо като събдомейн в които ще има неща само за потребители в локална мрежа
и ТЕ ще знаят точно как да го достъпят ... няма нужда от Redirect ...

Дано да има и други варианти за решение ...

аве ти вземи виж какво си написал в поста си.. първо искаш ако някой не сложи httpS да се отваря httpS. сега искаш да работят като два отделни домейна?
не ти схващам логиката на поста. ако искаш по вторият начин, то и сега трябва да ти отваря https://sub.domain.com при въвеждането му?!

Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #6 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Юни 14 2010, 09:30

No avatar chosen




Група: Li fans
Мнения: 4
Регистриран: Юни 2010

Оценка: няма

Offline
Ами логиката си е добре ... както и написаното
Събдомейна да се достъпва само на httpS://sub.domain.com ... ако опиташ на http://sub.domain.com да не ме пренасочва към домейна (сега така прави),а да ми казва че няма такъв адрес или някакво съобщение за грешка или забрана за достъп .....

Мерси отново
Контакти:  scarpa

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #7 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Юни 14 2010, 10:38

Avatar




Група: Li fans
Мнения: 105
Регистриран: Юли 2008

Оценка: няма

Offline
Според мен това което искаш да направиш би трявбало да стане по следния начин
Код: 
Listen *:80
Listen *:443
NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
 ServerName domain.com
 DocumentRoot /www/domain
 <Directory /www/domain>
   allow from all
 </Directory>
</VirtualHost>

<VirtualHost *:80>
 ServerName sub.domain.com
 DocumntRoot /www/domain/dummy
 <Directory /www/domain/dummy>
    allow from all
 </Directory>
</VirtualHost>


<VirtualHost *:443>
 SSLEngine on
 SSLCertificateFile /path to crt
 SSLCertificateKeyFile /path to key
 ServerName sub.domain.com
 DocumentRoot /www/domain/subdomain
 <Directory /www/domain/subdomain>
   allow from all
 </Directory>
</VirtualHost>


и ако имаш php (предполагам че най-вероятно ще ползваш) слагаш един index.php във /www/domain/dummy, който е:
Код: 
header("Status: 404 Not Found");

Или каквото друго прецениш.
Не съм го пробвал, но мисля че така трябва да стане. Ако не, поне опитах. Айде със здраве.

Контакти:  doommaster

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #8 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Юни 14 2010, 11:43

No avatar chosen




Група: Li fans
Мнения: 4
Регистриран: Юни 2010

Оценка: няма

Offline
Мерси за добрите предложения ...
А няма ли вариант в който да не се добавя още 1 vhost, да няма Rewrite, Redirect ...
нещо директива на Apache или нещо подобно .... просто мисля че след време ще ми е необходимо да добавя още събдомейни на httpS и за всеки ако добавя още 1 vhost няма да е много добре.

Успех на всички :)
Контакти:  scarpa

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #9
Skip to the previous post in this topic. Написано на: Юни 14 2010, 11:50

Avatar




Група: Li fans
Мнения: 763
Регистриран: Февруари 2008

Оценка: 5

Offline
за това има rewrite. не те разбирам?! или търсиш практично решение и го правиш така както ти предлагаме, или не го правиш и си биеш главата.
не можеш на 1,1 ip да добавяш повече от 1 https, тъйкато apache ще зарежда единствено първият дефиниран сертификат който срещне и ще ти пълни логовете с грешки.

аз го правя по следния начин:

       RewriteEngine On

       RewriteCond %{HTTP_HOST} !manila.domain.com
       RewriteCond %{HTTP_HOST} !avdaemon.domain.com
       RewriteCond %{REQUEST_URI} !svn/*
       RewriteRule ^(.*)$ https://manila.domain.com/%{HTTP_HOST}/$1 [L,R]

http://host1.domain.com/index2.php -> https://manila.domain.com/host1.domain.com/index2.php

Контакти:  altoas

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Общо 8 отговор(а) от Юни 10 2010, 10:08 до сега

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums