| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- ##
- # You should look at the following URL's in order to grasp a solid understanding
- # of Nginx configuration files in order to fully unleash the power of Nginx.
- # https://www.nginx.com/resources/wiki/start/
- # https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
- # https://wiki.debian.org/Nginx/DirectoryStructure
- #
- # In most cases, administrators will remove this file from sites-enabled/ and
- # leave it as reference inside of sites-available where it will continue to be
- # updated by the nginx packaging team.
- #
- # This file will automatically load configuration files provided by other
- # applications, such as Drupal or Wordpress. These applications will be made
- # available underneath a path with that package name, such as /drupal8.
- #
- # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
- ##
- # Default server configuration
- #
- #####兼容客户端Firefox 27, Chrome 30, IE 11 on Windows 7, Edge, Opera 17, Safari 9, Android 5.0, and Java 8
- #####此文件的真身路径是 /etc/nginx/sites-available/default 如果你修改了 /etc/nginx/nginx.conf 中的内容,但
- #####/etc/nginx/sites-available/default 中的 参数 与 前者 重叠 那么 会 遵从 后者
- server {
- #listen 80 default_server;
- #listen [::]:80 default_server;
- # SSL configuration
- #
- # listen 443 ssl default_server;
- # listen [::]:443 ssl default_server;
- #
- # Note: You should disable gzip for SSL traffic.
- # See: https://bugs.debian.org/773332
- #
- # Read up on ssl_ciphers to ensure a secure configuration.
- # See: https://bugs.debian.org/765782
- #
- # Self signed certs generated by the ssl-cert package
- # Don't use them in a production server!
- #
- # include snippets/snakeoil.conf;
-
- listen 127.0.0.1:80 default_server;
- server_name domain.Name;
- return 301 https://$host/$request_uri;
- }
- server {
- #listen 443 ssl http2;
- #listen [::]:443 ssl;
- #要开启HTTP/2需要nginx版本在1.10.0以上且需要openssl版本在1.0.2以上编译
- #可以使用 nginx -V 检查
- listen 127.0.0.1:443 ssl http2;
-
- #证书配置
- ssl_certificate PATH;
- ssl_certificate_key PATH;
- ssl_session_cache shared:SSL:10m;
- ssl_session_timeout 5m;
- ssl_session_tickets off;
-
- #https://nginx.org/en/docs/http/ngx_http_ssl_module.html
- ssl_protocols TLSv1.2;
- ###openssl ciphers
- ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; #屏蔽不安全的加密方式
- ssl_prefer_server_ciphers on;
-
- # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
- #
- ###测试前请使用较少的时间 此处以从 15768000 >>> 15
- ###https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/
- #add_header Strict-Transport-Security max-age=15;
-
- #openssl dhparam out dhparam.pem 2048
- #openssl dhparam out dhparam.pem 4096
- #ssl_dhparam /home/acme/data/dhparam.pem;
- # OCSP Stapling ---
- # fetch OCSP records from URL in ssl_certificate and cache them
- #有条件就开
- #ssl_stapling on;
- #ssl_stapling_verify on;
-
- root /var/www/html;
- # Add index.php to the list if you are using PHP
- index index.html index.htm index.nginx-debian.html index.php tail.html ;
- server_name _;
- location /PATH/ {
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade";
- proxy_set_header Host $http_host;
-
- #host判断
- if ($http_host = "domain.Name" ) {
- #v 监听端口
- proxy_pass http://127.0.0.1:10086;
- }
- }
-
- # pass PHP scripts to FastCGI server
- #
- location ~ \.php$ {
- include snippets/fastcgi-php.conf;
- #
- # # With php-fpm (or other unix sockets):
- fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
- # # With php-cgi (or other tcp sockets):
- # fastcgi_pass 127.0.0.1:9000;
- }
- # deny access to .htaccess files, if Apache's document root
- # concurs with nginx's one
- #
- #location ~ /\.ht {
- # deny all;
- #}
- }
- # Virtual Host configuration for example.com
- #
- # You can move that to a different file under sites-available/ and symlink that
- # to sites-enabled/ to enable it.
- #
- #server {
- # listen 80;
- # listen [::]:80;
- #
- # server_name example.com;
- #
- # root /var/www/example.com;
- # index index.html;
- #
- # location / {
- # try_files $uri $uri/ =404;
- # }
- #}
|