Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
W obrębie jednej domeny i jednego serwera uruchamiam kilka subdomen. Do tej pory ganiało to na porcie 80 i było wszystko fajnie. Został kupiony certyfikat wildcart i wszystko ma trafiać z portu 80 na 443.
No niby fajnie zmieniliśmy porty i wszystko prawie działa. Problem w tym, że nie idzie nam ustawienie przekierowania z portu 80 na 443.
Chodzi o to żeby wszystko co przyjdzie na porcie 80 przełączyło się na ssl.
jak wpiszę w przeglądarkę
www.domena.pl dostanę zawartość https://www.domena.pl
content.domena.pl to zostanę zawartość https://content.domena.pl
panel.domena.pl to dostanę https://panel.domena.pl
Przetestowaliśmy chyba wszystkie pomysły i nie działa. Czy ktoś z Was miał może taki problem i udało się go rozwiązać.
Każda subdomena jest zapisana w oddzielnym pliku i wygląda mniej więcej tak
server { listen 443; server_name www.domena.pl domena.pl; charset utf-8; access_log /var/log/nginx/access.log main; location / { root /home/www/domena.pl; index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/www/domena.pl$fastcgi_script_name; }
server { listen 443; server_name panel.domena.pl; root /home/www/domena.pl/panel; index index.php index.html index.pl; location ~ /(?:40[345]|5xx)[.]html$ { root /home/www/error; } location = /favicon.ico { log_not_found off; access_log off; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
robiliśmy jeden plik główny z takim wpisem
server { # Server host server_name domena.pl; # Server port listen 80; listen [::]:80; return 301 https://domena.pl$request_uri; }
dzięki za pomoc
Ostatnio edytowany przez redelek (2015-10-03 23:07:41)
Offline
return 301 https://$http_host$request_uri;
Pasuje do wszystkich domen i subdomen - zawsze.
Dobrze tez dodać do parametrów fastcgi:
fastcgi_param HOSTNAME $http_host; fastcgi_param SERVER_NAME $http_host;
bo inaczej niektóre skrypty PHP głupieją.
Wildcard można zrobić tak:
server { listen 80 default_server; server_name _; return 444; }
Albo tak:
server { server_name ~^(www\.)?(.+)$; root /var/www/localhost/htdocs; listen 0.0.0.0:80 ; listen [::1]:80 ; return 301 https://$http_host$request_uri; log_not_found off; access_log off; }
Ostatnio edytowany przez Jacekalex (2015-10-01 18:54:51)
Offline
u mnie śmiga takie cudo:
server { listen 91.150.189.135:80 default_server; server_name valhalla.org.pl www.valhalla.org.pl; return 301 https://$server_name$request_uri; } server { listen 91.150.189.135:443 ssl spdy; ... ... ... }
Dla wildcarda w server_name wystarczy dać *.domena.pl;
Offline
no ni cholery :(
Wszystkie strony są /etc/nginx/conf.d/panel.domena_ssl.conf
/etc/nginx/conf.d/domena_ssl.conf
dodałem plik default.conf i próba waszych wpisów nie przyniosła skutku, więc dopisałem do /etc/nginx/nginx.conf i dupa nadal dostaję error 400 bad request The plain HTTP request was sent to HTTPS port.
Przeglądarkę też wyczyściłem na kilku to robiłem
Offline
dzięki po wielu bojach zadziałało
Offline
redelek napisał(-a):
dzięki po wielu bojach zadziałało
To pochwal się, co u Ciebie konretnie zadziałało.;)
Ostatnio edytowany przez Jacekalex (2015-10-04 12:23:12)
Offline