Ahoj,
mam to takto:
server { listen 80; server_name domena.com;
dalsi veci ... }
Z manualu nginx je to vypsane nasledovne:
pokud mam linux a je nastaveno v sysctl.conf |net.ipv6.bindv6only=0 (default) tak to posloucha na v4 i v6....
pro BSD a pokud nastavim moznost vyse na 1, tak musim bindovat v4 a v6 zvlast tak jak napsal Petr ...
pokud neprehodis moznost bindv6only=1, tak ten tvuj config bude chcipat na bind() already in use ..
Zkousel jsem oboje, i s pripsanym obojim v configu, a vetsinou byla stranka dostupna na v6, ale v4 me hazela na jinou hostovanou domenu ...
Muj config na kterem to testuju (includuje se z hlavniho): bindipv6only=1
server { listen 80; listen [::]:80; server_name www.nemec.lu;
rewrite ^.*$ http://nemec.lu/ permanent; }
server { listen 80 default_server; listen [::]:80 default_server; client_max_body_size 2G;
server_name nemec.lu;
access_log /home/nginx/wysiwyg/access.log; error_log /home/nginx/wysiwyg/error.log;
location / { include uwsgi_params; root /home/lukas/wysiwyg; uwsgi_pass 127.0.0.1:3030; }
# force to use https for /admin location /admin/ { rewrite "^(.*)" https://$host$1 permanent; }
location /media/ { alias /home/nginx/wysiwyg/media/; access_log off; expires 7d; autoindex on; }
location /static/ { alias /home/nginx/wysiwyg/static/; access_log off; expires 7d; } }
server { listen 443 ssl default_server; listen [::]:443 ssl default_server; client_max_body_size 2G;
ssl_certificate /etc/nginx/cert/server.crt; ssl_certificate_key /etc/nginx/cert/server.key;
server_name nemec.lu www.nemec.lu;
access_log /home/nginx/wysiwyg/access.log; error_log /home/nginx/wysiwyg/error.log;
location / { include uwsgi_params; root /home/lukas/wysiwyg; uwsgi_pass 127.0.0.1:3030; }
location /media/ { alias /home/nginx/wysiwyg/media/; access_log off; expires 7d; }
location /static/ { alias /home/nginx/wysiwyg/static/; access_log off; expires 7d; }
Dikec,
Lukas Nemec |
Ahoj,
Dne 30.10.2013 14:44, Lukas Nemec napsal(a):
pokud mam linux a je nastaveno v sysctl.conf |net.ipv6.bindv6only=0 (default) tak to posloucha na v4 i v6....
pro BSD a pokud nastavim moznost vyse na 1, tak musim bindovat v4 a v6 zvlast tak jak napsal Petr ...
Nastavení bindv6only=0 je ošklivý hack pro staré hloupé aplikace, která nedokáží zároveň poslouchat na víc než jednom socketu. Považuje se za zavržené a až na výjimky by se nemělo používat.
Jediná správná cesta implementace dual stacku je použití dvou nezávislých socketů, jeden pro IPv4, jiný pro IPv6. Většina programů proto tuto volbu automaticky nastavuje na 1, aby to fungovalo všude konzistentně. V případě nginx tedy takto:
server { listen 80; listen [::]:80 ipv6only=on; } (nezkoušeno, zdroj: https://halfthetruth.de/2012/07/06/nginx-with-ipv6-dual-stack/)
-- Zdraví Ondřej Caletka
Dne 30.10.2013 15:39, Ondřej Caletka napsal(a):
Ahoj,
Dne 30.10.2013 14:44, Lukas Nemec napsal(a):
pokud mam linux a je nastaveno v sysctl.conf |net.ipv6.bindv6only=0 (default) tak to posloucha na v4 i v6....
pro BSD a pokud nastavim moznost vyse na 1, tak musim bindovat v4 a v6 zvlast tak jak napsal Petr ...
Nastavení bindv6only=0 je ošklivý hack pro staré hloupé aplikace, která nedokáží zároveň poslouchat na víc než jednom socketu. Považuje se za zavržené a až na výjimky by se nemělo používat.
Jediná správná cesta implementace dual stacku je použití dvou nezávislých socketů, jeden pro IPv4, jiný pro IPv6. Většina programů proto tuto volbu automaticky nastavuje na 1, aby to fungovalo všude konzistentně. V případě nginx tedy takto:
server { listen 80; listen [::]:80 ipv6only=on; } (nezkoušeno, zdroj: https://halfthetruth.de/2012/07/06/nginx-with-ipv6-dual-stack/)
-- Zdraví Ondřej Caletka _______________________________________________ Community-list mailing list Community-list@lists.vpsfree.cz http://lists.vpsfree.cz/listinfo/community-list
Tahle volba tam vůbec nemusí být. Viz můj příklad v předchozím mailu, přesně takhle mi to bez problémů běží. Prostě se nechá nabindovat na 80 i na [::]:80 a funguje to.
Petr Krčmář
community-list@lists.vpsfree.cz