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
[quote=redelek]dzięki po wielu bojach zadziałało[/quote]
To pochwal się, co u Ciebie konretnie zadziałało.;)
Ostatnio edytowany przez Jacekalex (2015-10-04 12:23:12)
Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00097 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.138.175.10' WHERE u.id=1 |
0.00073 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.138.175.10', 1732776259) |
0.00038 | SELECT * FROM punbb_online WHERE logged<1732775959 |
0.00050 | SELECT topic_id FROM punbb_posts WHERE id=291228 |
0.00007 | SELECT id FROM punbb_posts WHERE topic_id=27766 ORDER BY posted |
0.00056 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27766 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00199 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27766 ORDER BY p.id LIMIT 0,25 |
0.00074 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27766 |
Total query time: 0.00614 s |